]> granicus.if.org Git - git/commitdiff
wrapper: add xgetcwd()
authorRené Scharfe <l.s.r@web.de>
Mon, 28 Jul 2014 18:29:50 +0000 (20:29 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 26 Aug 2014 18:06:05 +0000 (11:06 -0700)
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>
git-compat-util.h
wrapper.c

index e6a4159a25ea2c4f98840b86994425e898cf134c..4010d350d79b5676e3b17518fcec56925895c2fc 100644 (file)
@@ -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)
 {
index bc1bfb86003cb4133cc4ce3ce6423ce780ed7c84..bd24cdabfb818d4eddde4f08819f5a0166283a6a 100644 (file)
--- a/wrapper.c
+++ b/wrapper.c
@@ -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);
+}