View Issue Details

IDProjectCategoryView StatusLast Update
0014645Lazarus CCR-public2009-09-21 10:35
ReporterSven BarthAssigned ToVincent Snijders 
PrioritynormalSeveritymajorReproducibilityN/A
Status resolvedResolutionno change required 
Summary0014645: SymScan: SCAN_BUFFER has field with wrong type
DescriptionIn SymScan API the records tagSCAN_BUFFER_W and tagSCAN_BUFFER_A have a field TimeStamp of time TDateTime. In original c header this is of type SYSTEMTIME which results in wrong field offsets and record size in Pascal! Attached patch fixes this.

Also I changed BOOL from UINT to WINBOOL so one can use normal Boolean operators and values.
TagsNo tags attached.
Widgetset
Attached Files
  • symscan-patch.patch (1,070 bytes)
    --- C:/symscan/symscan/Kopie von symscanapi.pp	Sat May 23 15:12:02 2009
    +++ C:/symscan/symscan/symscanapi.pp	Mon Sep 21 10:14:24 2009
    @@ -33,6 +33,8 @@
     unit SymScanAPI;
     interface
     
    +uses
    +  Windows;
     
       const
         External_library='SCNAPI32.DLL'; {Setup as you need}
    @@ -112,7 +114,7 @@
          
          HWND = DWORD;
          UINT = cardinal;
    -     BOOL = UINT;
    +     BOOL = WINBOOL;
          LPBOOL = ^BOOL;
     
          TSTRUCT_INFO = record
    @@ -405,7 +407,7 @@
               bText : BOOL;
               dwLabelType : LABELTYPE;
               dwRequestID : DWORD;
    -          TimeStamp : TDateTime;
    +          TimeStamp : SYSTEMTIME;
               dwDirection : DWORD;
               szSource : array[0..(MAX_SRC)-1] of WCHAR;
               bIsMultiPart : BOOL;
    @@ -430,7 +432,7 @@
               bText : BOOL;
               dwLabelType : LABELTYPE;
               dwRequestID : DWORD;
    -          TimeStamp : TDateTime;
    +          TimeStamp : SYSTEMTIME;
               dwDirection : DWORD;
               szSource : array[0..(MAX_SRC)-1] of CHAR;
               bIsMultiPart : BOOL;
    
    symscan-patch.patch (1,070 bytes)

Activities

2009-09-21 10:20

 

symscan-patch.patch (1,070 bytes)
--- C:/symscan/symscan/Kopie von symscanapi.pp	Sat May 23 15:12:02 2009
+++ C:/symscan/symscan/symscanapi.pp	Mon Sep 21 10:14:24 2009
@@ -33,6 +33,8 @@
 unit SymScanAPI;
 interface
 
+uses
+  Windows;
 
   const
     External_library='SCNAPI32.DLL'; {Setup as you need}
@@ -112,7 +114,7 @@
      
      HWND = DWORD;
      UINT = cardinal;
-     BOOL = UINT;
+     BOOL = WINBOOL;
      LPBOOL = ^BOOL;
 
      TSTRUCT_INFO = record
@@ -405,7 +407,7 @@
           bText : BOOL;
           dwLabelType : LABELTYPE;
           dwRequestID : DWORD;
-          TimeStamp : TDateTime;
+          TimeStamp : SYSTEMTIME;
           dwDirection : DWORD;
           szSource : array[0..(MAX_SRC)-1] of WCHAR;
           bIsMultiPart : BOOL;
@@ -430,7 +432,7 @@
           bText : BOOL;
           dwLabelType : LABELTYPE;
           dwRequestID : DWORD;
-          TimeStamp : TDateTime;
+          TimeStamp : SYSTEMTIME;
           dwDirection : DWORD;
           szSource : array[0..(MAX_SRC)-1] of CHAR;
           bIsMultiPart : BOOL;
symscan-patch.patch (1,070 bytes)

Vincent Snijders

2009-09-21 10:35

administrator   ~0030870

Last edited: 2009-09-21 10:37

The author did not indicate on http://wiki.lazarus.freepascal.org/SymScan that he wanted to use the Lazarus bug tracker. Please contact him directly by email.

If he does not respond, please create a new source zip with the fixes, update the wiki page with a Changelog (like http://wiki.lazarus.freepascal.org/RichMemo#Change_Log) and send me the source zip.

Issue History

Date Modified Username Field Change
2009-09-21 10:20 Sven Barth New Issue
2009-09-21 10:20 Sven Barth File Added: symscan-patch.patch
2009-09-21 10:35 Vincent Snijders Status new => resolved
2009-09-21 10:35 Vincent Snijders Resolution open => no change required
2009-09-21 10:35 Vincent Snijders Assigned To => Vincent Snijders
2009-09-21 10:35 Vincent Snijders Note Added: 0030870
2009-09-21 10:37 Vincent Snijders Note Edited: 0030870