aboutsummaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
authorRaja R Harinath <harinath@hurrynot.org>2010-07-13 14:32:00 +0530
committerJunio C Hamano <gitster@pobox.com>2010-07-14 07:57:08 -0700
commitc7d1d1b1329a104d2f7fe6307da4344288bc8e01 (patch)
tree1641d79235e3ef3be26a4e5587c3c12187d7dee3 /setup.c
parent449aeb10d5d28083199f82c444b55a03c545e956 (diff)
downloadgit-c7d1d1b1329a104d2f7fe6307da4344288bc8e01.tar.gz
git-c7d1d1b1329a104d2f7fe6307da4344288bc8e01.tar.xz
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>
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/setup.c b/setup.c
index 7e0460205..87c21f02e 100644
--- a/setup.c
+++ b/setup.c
@@ -323,7 +323,8 @@ const char *setup_git_directory_gently(int *nongit_ok)
const char *gitdirenv;
const char *gitfile_dir;
int len, offset, ceil_offset, root_len;
- int current_device = 0, one_filesystem = 1;
+ dev_t current_device = 0;
+ int one_filesystem = 1;
struct stat buf;
/*