Browse Source

--- Merging r21478 into '.':
U packages/fcl-process/src/unix/process.inc
--- Merging r21486 into '.':
U packages/winunits-base/src/activex.pp
--- Merging r21548 into '.':
U rtl/linux/ossysc.inc
--- Merging r21576 into '.':
U rtl/objpas/fgl.pp
--- Merging r21584 into '.':
U packages/libpng/src/png.pp

# revisions: 21478,21486,21548,21576,21584
r21478 | marco | 2012-06-03 18:18:51 +0200 (Sun, 03 Jun 2012) | 2 lines
Changed paths:
M /trunk/packages/fcl-process/src/unix/process.inc

* if wifexited, pass exitcode unmodified. Bug #22055, though it doesn't close that.
r21486 | sergei | 2012-06-04 20:22:36 +0200 (Mon, 04 Jun 2012) | 1 line
Changed paths:
M /trunk/packages/winunits-base/src/activex.pp

* sizeof(tagVariant) should be 24 for 64 bit targets, so it is assignment-compatible with Variant type. Resolves #22050.
r21548 | jonas | 2012-06-08 13:14:52 +0200 (Fri, 08 Jun 2012) | 2 lines
Changed paths:
M /trunk/rtl/linux/ossysc.inc

* retry close() in fpclosedir() when it returns EINTR
r21576 | marco | 2012-06-10 11:30:11 +0200 (Sun, 10 Jun 2012) | 2 lines
Changed paths:
M /trunk/rtl/objpas/fgl.pp

* binary compare data compared data1 with itself, mantis #22241 Patch by ...
r21584 | jonas | 2012-06-12 21:46:49 +0200 (Tue, 12 Jun 2012) | 3 lines
Changed paths:
M /trunk/packages/libpng/src/png.pp

* {$linklib png} to enable automatically linking the library on Mac OS X
(mantis #21833)

git-svn-id: branches/fixes_2_6@21994 -

marco 13 years ago
parent
commit
9229e9145f

+ 7 - 3
packages/fcl-process/src/unix/process.inc

@@ -46,9 +46,13 @@ begin
   until (res<>-1) or (fpgeterrno<>ESysEINTR);
   result:=res=Handle;
   If Result then
-    FExitCode:=wexitstatus(FExitCode)
-  else
-    FexitCode:=0;
+   begin
+      if wifexited(FExitCode) then
+        FExitCode:=wexitstatus(FExitCode);
+      // else pass errorvalue unmodified like shell does, bug #22055
+     end
+   else
+    FexitCode:=-1; // was 0, better testable for abnormal exit.
 end;
 
 Type

+ 1 - 0
packages/libpng/src/png.pp

@@ -25,6 +25,7 @@ Const
   LibPng = 'png'; // Library name
   { matching lib version for libpng, needed for initialization }
   PNG_LIBPNG_VER_STRING='1.2.12';
+  {$linklib png}
 {$endif windows}
 
 type

+ 1 - 0
packages/winunits-base/src/activex.pp

@@ -1528,6 +1528,7 @@ TYPE
 
        VT_BYREF or VT_INT:      (pintVal: PLongint);
        VT_BYREF or VT_UINT:     (puintVal: PLongWord);
+       VT_RECORD:               (pvRecord: Pointer; pRecInfo: Pointer {IRecordInfo});
      );
    1: (decVal: TDECIMAL);
    end;

+ 3 - 2
rtl/linux/ossysc.inc

@@ -175,9 +175,10 @@ begin
 end;
 
 function Fpclosedir(dirp : pdir): cint; [public, alias : 'FPC_SYSC_CLOSEDIR'];
-
 begin
-  Fpclosedir:=Fpclose(dirp^.dd_fd);
+  repeat
+    Fpclosedir:=Fpclose(dirp^.dd_fd);
+  until (Fpclosedir=0) or (errno<>ESysEINTR);
   dispose(dirp^.dd_buf);
   dispose(dirp);
 end;

+ 1 - 1
rtl/objpas/fgl.pp

@@ -1164,7 +1164,7 @@ end;
 
 function TFPSMap.BinaryCompareData(Data1, Data2: Pointer): Integer;
 begin
-  Result := CompareByte(Data1^, Data1^, FDataSize);
+  Result := CompareByte(Data1^, Data2^, FDataSize);
 end;
 
 procedure TFPSMap.SetOnKeyPtrCompare(Proc: TFPSListCompareFunc);