Truncate procedure unable to work under Linux, is this a bug? This code is unable to work under linux: the Truncate drops an error message if the file is larger than 2 or 3 GB. I tested it with Free Pascal 2.6.4 under Debian Jessie 64 bit. It produce the same error message under Ubuntu 12.04 32 bit with Free Pascal 2.4.4 Sometimes I did not get any error message but the file (which was 2 or 3 GB) will be only some hundred MB after truncate... It operates correctly under Windows.
It produce the following error message: An unhandled exception occurred at $<address>: EPrivilege : Privileged instruction $<address> Program File_Trunc; {$MODE OBJFPC} {$H+} uses dos,sysutils; var f : file of byte; fs : int64; begin assign(f,paramstr(1)); ReSet(f); fs := FileSize(f); WriteLn('Original file size: ',fs); fs := fs-3456789; WriteLn('File size after truncate: ',fs); Seek(f,fs); Truncate(f); Close(f); end. Best regards, Geza _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal