浏览代码

+ Win32 Do_open crahs on append

michael 22 年之前
父节点
当前提交
3bf916415a
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      rtl/win32/system.pp

+ 7 - 2
rtl/win32/system.pp

@@ -544,7 +544,9 @@ begin
   security.lpSecurityDescriptor:=nil;
   security.lpSecurityDescriptor:=nil;
   filerec(f).handle:=CreateFile(p,oflags,shflags,@security,cd,FILE_ATTRIBUTE_NORMAL,0);
   filerec(f).handle:=CreateFile(p,oflags,shflags,@security,cd,FILE_ATTRIBUTE_NORMAL,0);
 { append mode }
 { append mode }
-  if (flags and $100)<>0 then
+  if ((flags and $100)<>0) and
+     (filerec(f).handle<>0) and
+     (filerec(f).handle<>-1) then
    begin
    begin
      do_seekend(filerec(f).handle);
      do_seekend(filerec(f).handle);
      filerec(f).mode:=fmoutput; {fool fmappend}
      filerec(f).mode:=fmoutput; {fool fmappend}
@@ -1530,7 +1532,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.42  2003-09-17 15:06:36  peter
+  Revision 1.43  2003-09-26 07:30:34  michael
+  + Win32 Do_open crahs on append
+
+  Revision 1.42  2003/09/17 15:06:36  peter
     * stdcall patch
     * stdcall patch
 
 
   Revision 1.41  2003/09/12 12:33:43  olle
   Revision 1.41  2003/09/12 12:33:43  olle