diff options
author | Raja R Harinath <harinath@hurrynot.org> | 2010-07-13 14:32:00 +0530 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-07-14 07:57:08 -0700 |
commit | c7d1d1b1329a104d2f7fe6307da4344288bc8e01 (patch) | |
tree | 1641d79235e3ef3be26a4e5587c3c12187d7dee3 /setup.c | |
parent | 449aeb10d5d28083199f82c444b55a03c545e956 (diff) | |
download | git-c7d1d1b1329a104d2f7fe6307da4344288bc8e01.tar.gz |
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.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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; /* |