diff options
author | René Scharfe <l.s.r@web.de> | 2014-07-28 20:29:50 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-08-26 11:06:05 -0700 |
commit | aa14e980fff55e090dd42174ab4f37fe4b3dfa1e (patch) | |
tree | 0c90fa06f1001c96c3cd6c83579fa81850d5e928 | |
parent | 2fdb9ce0673b9197214e0fc12a47a8b335561cd8 (diff) | |
download | git-aa14e980fff55e090dd42174ab4f37fe4b3dfa1e.tar.gz git-aa14e980fff55e090dd42174ab4f37fe4b3dfa1e.tar.xz |
wrapper: add xgetcwd()
Add the helper function xgetcwd(), which returns the current directory
or dies. The returned string has to be free()d after use.
Helped-by: Duy Nguyen <pclouds@gmail.com>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | git-compat-util.h | 1 | ||||
-rw-r--r-- | wrapper.c | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index e6a4159a2..4010d350d 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -538,6 +538,7 @@ extern int xmkstemp(char *template); extern int xmkstemp_mode(char *template, int mode); extern int odb_mkstemp(char *template, size_t limit, const char *pattern); extern int odb_pack_keep(char *name, size_t namesz, const unsigned char *sha1); +extern char *xgetcwd(void); static inline size_t xsize_t(off_t len) { @@ -493,3 +493,11 @@ struct passwd *xgetpwuid_self(void) errno ? strerror(errno) : _("no such user")); return pw; } + +char *xgetcwd(void) +{ + struct strbuf sb = STRBUF_INIT; + if (strbuf_getcwd(&sb)) + die_errno(_("unable to get current working directory")); + return strbuf_detach(&sb, NULL); +} |