Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
wrapper: add xgetcwd()
author
René Scharfe
<l.s.r@web.de>
Mon, 28 Jul 2014 18:29:50 +0000
(20:29 +0200)
committer
Junio 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
patch
|
blob
|
history
wrapper.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
2fdb9ce
)
diff --git
a/git-compat-util.h
b/git-compat-util.h
index e6a4159a25ea2c4f98840b86994425e898cf134c..4010d350d79b5676e3b17518fcec56925895c2fc 100644
(file)
--- 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 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)
{
static inline size_t xsize_t(off_t len)
{
diff --git
a/wrapper.c
b/wrapper.c
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;
}
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);
+}