Hi all, I have some problem with a file archiver which uses the Dos unit under Windows, I suspect the flaw resides in GetFAttr function. Looking in the source for Win RTL
procedure getfattr(var f;var attr : word); var l : longint; s : RawByteString; begin doserror:=0; s:=ToSingleByteFileSystemEncodedFileName(filerec(f).name); l:=GetFileAttributes(pchar(s)); if l=longint($ffffffff) then begin doserror:=getlasterror; attr:=0; end else attr:=l and $ffff; end; I noted that two bytes are reported as a result, thought IIRC in DOS only the low byte is affected while the high one should be zero, so the assignment would become attr:=l and $ff; Waiting for your comments, Marco -- Simplex sigillum veri _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal