Michael Van Canneyt wrote:

> POSIX says nothing about pascal, it's basically a C interface.

To me POSIX means primarily the very different file handling, with
regards to devices, path separators, owner/group/world access rights
etc. This is what bites not only me when porting GNU software to
Windows.

> The FPC baseunix/unix units mimic more or less the POSIX standard

As already mentioned, I couldn't find these units :-(


> No. TStream. An archive stream does not have a handle.

It was so in my first approach. But you are right, an archive or
decompressor stream should use an input stream, as provided by the
calling application.


> > That's why I choose the well defined C names for now, like size_t,
> > off_t.
> 
> 1. They are not "well-defined", but this is another story :-)

Hmm, I refer to the GNU libc documentation, so I thought that some types
and procedures are well specified there.

> 2. I absolutely HATE underscores in types/variables/whatever
>    for documentation purposes it is a horror (I use TeX)

I also don't like underscores, but for porting IMO it's a *must* to
retain these names. How else should somebody know which Pascal names to
use for these types?


> > Apropos optimization, in many FPC units I found constructs like:
> >   if x = 0 then f(0) else f(x)
> > In these cases the IF is superfluous.
> 
> You can send a list of such things to any core member.

Okay.


> > DWORD often is used for exactly 32 bits, so that Cardinal is not an
> > appropriate replacement.
> 
> Cardinal = 32 bits _always_. Also on 64 bit.

As I understand the Delphi documentation, Integer and Cardinal have an
unspecified size. In a 16 bit environment they have 16 bits, in 32 bit
environment 32 bits. Of course one could say that even on a 64 bit
machine the most frequently used numbers will have 32 bits as well...


> > Perhaps we should discuss the (new and old) data types explicitly, for a
> > precise description of the intended use, naming, and general properties
> > (signedness, fixed or minimum bit size...).
> 
> The old are not subject to discussion.

It would make life easier, with regards to 64 bit machines, 64 bit file
sizes etc.  I definitely see no problems when the file-size types
(off_t) would be retyped from LongInt into e.g. TFileSize in the TStream
class(es). This is one of the rare cases where one can learn from
Windows and C ;-)

DoDi



_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to