On 8 sep 2006, at 10:37, Daniël Mantione wrote:

No, there is no reason why you want to use types like Pulong etc.

One reason to do that is to keep code portable between different Pascal
compilers.

C compilers.

I'm only talking Pascal compilers: this is a unit part of a package which is available for different Pascal compiler, so people using different Pascal compilers (apparently) use the unit and the types declared to it.

I'm not talking about the reason for the original C implementation, but the reason to include the unit in FPC (possibly without the special memory allocation functions, although those as well may be used by external code which then may have to be ifdef'ed for FPC).

Speaking about paszlib portability, there are many endian issues nobody
has ever looked at:

    {put_short(s, s.bi_buf);}
    s.pending_buf^[s.pending] := byte(s.bi_buf and $ff);
    inc(s.pending);
    s.pending_buf^[s.pending] := byte(word(s.bi_buf) shr 8);;
    inc(s.pending);

Not knowing what this is for, this may be right (maybe it's when compressing and the zipped data must always be stored little endian?) or wrong...

Sure, I agree here. But the reason to kick zutil was not because there
were declarations like "type arrayname = array[0..$ffffffff] of byte", in
fact, such types are still in the code. I consider such types perfect
Pascal code.

The problem is that it breaks code which depends on zutil and the types declared in it.


Jonas_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to