@matheusbsbs / matheus-bagliano / commits / c7d1d1b132
Fork 0

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 /*