Changeset 2395

Show
Ignore:
Timestamp:
01/12/2008 01:31:51 (21 months ago)
Author:
chris
Message:

Fix the use of an unreasonably short type as the temporary storage
for inode numbers on Windows, resulting in all inode numbers being
coerced into 216 space and many duplicates on systems with large
numbers of files being backed up, possibly resulting in store
corruption due to unwanted file rename operations.

Location:
box/trunk/lib
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • box/trunk/lib/common/BoxPlatform.h

    r2361 r2395  
    3939                #define __MSVCRT_VERSION__ 0x0601 
    4040        #endif 
     41 
     42        // stop sys/types.h from defining its own ino_t as short, 
     43        // because we want a bigger one :) 
     44        #define _INO_T_ 
    4145#endif 
    4246 
  • box/trunk/lib/win32/emu.h

    r2389 r2395  
    2626#ifdef __MINGW32__ 
    2727        typedef uint32_t u_int32_t; 
     28        typedef uint64_t _ino_t; 
     29        typedef _ino_t ino_t; 
     30        #define _INO_T_ 
    2831#else 
    2932        typedef unsigned int mode_t;