Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()
The original declaration was int, which seems to cause trouble on my machine. It causes spurious "filesystem boundary" errors when running the testsuite. The cause seems to be $ stat -c%d . 2147549952 which is too large for a 32-bit int type. Using the correct type, dev_t, solves the issue. (Because I'm paranoid and forgetful, I checked -- yes, Unix v7 had dev_t.) Other uses of st_dev seem to be reasonably safe. fill_stat_cache_info truncates it to an 'unsigned int', but that value seems to be used only to validate the cache, and only if USE_STDEV is defined. Signed-off-by: Raja R Harinath <harinath@hurrynot.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Raja R Harinath committed
Jul 13, 2010 at 14:32 UTC
c7d1d1b1329a104d2f7fe6307da4344288bc8e01
1 file changed
+2
-1
setup.c
+2
-1
@@ -323,7 +323,8 @@ const char *setup_git_directory_gently(int *nongit_ok)
323
const char *gitdirenv;
324
const char *gitfile_dir;
325
int len, offset, ceil_offset, root_len;
326
- int current_device = 0, one_filesystem = 1;
326
+ dev_t current_device = 0;
327
+ int one_filesystem = 1;
328
struct stat buf;
329
330
/*