diff options
author | René Scharfe <l.s.r@web.de> | 2014-07-28 20:30:39 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-08-26 11:06:06 -0700 |
commit | 56b9f6e738af6f5238f57a29e96103cf61e3f8cd (patch) | |
tree | d6386cc8e082c60423ecd3a16b2e49969ced25fc /dir.c | |
parent | aa14e980fff55e090dd42174ab4f37fe4b3dfa1e (diff) | |
download | git-56b9f6e738af6f5238f57a29e96103cf61e3f8cd.tar.gz |
use xgetcwd() to get the current directory or die
Convert several calls of getcwd() and die() to use xgetcwd() instead.
This way we get rid of fixed-size buffers (which can be too small
depending on the used file system) and gain consistent error messages.
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.c')
-rw-r--r-- | dir.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -1500,12 +1500,16 @@ int dir_inside_of(const char *subdir, const char *dir) int is_inside_dir(const char *dir) { - char cwd[PATH_MAX]; + char *cwd; + int rc; + if (!dir) return 0; - if (!getcwd(cwd, sizeof(cwd))) - die_errno("can't find the current directory"); - return dir_inside_of(cwd, dir) >= 0; + + cwd = xgetcwd(); + rc = (dir_inside_of(cwd, dir) >= 0); + free(cwd); + return rc; } int is_empty_dir(const char *path) |