Ian Abbott wrote: > On 10/06/07 14:09, Laurent Vivier wrote: >> Hi, >> >> I'm trying to debug my application syncefs. >> >> the problem is as following : >> >> in my application, sizeof(CE_FIND_DATA) = 552 but in librapi2, >> in _CeFindAllFiles it seems to be 560 : >> >> src/rapi/file_management.c >> >> 71: CE_FIND_DATA* array = calloc(count, >> sizeof(CE_FIND_DATA)); >> >> 0xb7f78c31 <_CeFindAllFiles+200>: mov 0xffffffec(%ebp),%eax >> 0xb7f78c34 <_CeFindAllFiles+203>: movl $0x230,0x4(%esp) >> 0xb7f78c3c <_CeFindAllFiles+211>: mov %eax,(%esp) >> 0xb7f78c3f <_CeFindAllFiles+214>: call 0xb7f71398 <[EMAIL PROTECTED]> >> >> If I compile librapi2 and pls on my system all is working fine, if I use >> librapi2 (0.9.3) from Debian etch and I compile pls on my system, when I >> run pls I have same issue. >> >> An idea why size of is different between librapi2 and my application ? >> I use gcc 4.1 but I have same behaviour with gcc-3.4. > > I think you're picking up an out-of-date <synce_types.h> from somewhere. > See > <http://www.mail-archive.com/synce-devel@lists.sourceforge.net/msg00341.html> > for the patch that changed MAX_PATH from 256 to 260. This accounts for > the 8 byte difference in size that you are seeing in CE_FIND_DATA, and > also affects a few other types in <rapi.h>. >
Thank you. It should be the good answer, so there is a problem with debian packages : # grep MAX_PATH /usr/include/synce_types.h #define MAX_PATH 256 # dpkg -S /usr/include/synce_types.h libsynce0-dev: /usr/include/synce_types.h # apt-cache show libsynce0-dev Package: libsynce0-dev Priority: optional Section: libdevel Installed-Size: 140 Maintainer: Volker Christian <[EMAIL PROTECTED]> Architecture: i386 Source: libsynce Version: 0.9.3-1 Depends: libsynce0 (= 0.9.3-1) Suggests: librapi2-dev Filename: pool/main/libs/libsynce/libsynce0-dev_0.9.3-1_i386.deb Size: 25258 MD5sum: 5f22c4fdc6805766d192fb7451bfec8a SHA1: 54141639382ae4ccedf4df81b8c237bb346d10f4 SHA256: e3142e6a31a1ef262f116a3e30d60bd6ddd961ddf6d54ed470b9ed9ca829252c Description: A helper library for synce, a tool to sync WinCE devices This package contains the development files Tag: devel::library, role::devel-lib # objdump -D /usr/lib/librapi.so.2.0.0 00006cbb <_CeFindAllFiles2>: ... 6daa: 0f 84 0c 03 00 00 je 70bc <_CeFindAllFiles2+0x401> 6db0: 8b 45 ec mov 0xffffffec(%ebp),%eax 6db3: c7 44 24 04 30 02 00 movl $0x230,0x4(%esp) 6dba: 00 6dbb: 89 04 24 mov %eax,(%esp) 6dbe: e8 d5 c5 ff ff call 3398 <[EMAIL PROTECTED]> # dpkg -S /usr/lib/librapi.so.2.0.0 librapi2: /usr/lib/librapi.so.2.0.0 # apt-cache show librapi2 Package: librapi2 Priority: optional Section: libs Installed-Size: 116 Maintainer: Volker Christian <[EMAIL PROTECTED]> Architecture: i386 Version: 0.9.3-3 Depends: libc6 (>= 2.3.6-6), libsynce0 Suggests: synce-dccm, librra0, librapi2-tools Filename: pool/main/libr/librapi2/librapi2_0.9.3-3_i386.deb Size: 24916 MD5sum: 194fe16320d801a46e822b380428cf9b SHA1: b23f29b17f60b02ab11cab7e75ebaf258047cfae SHA256: e526dd5edd8a1def0027122fb1d7e259f5200ba84b25d7480bc7b1d151291bdf Description: Make RAPI calls to a WinCE device, runtime libraries This library is equivalent to rapi.dll on a Windows machine. It allows you to make remote calls to your WinCE device. Tag: role::shared-lib I guess the build environment of this package is corrupted. Regards, Laurent ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel