X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fdropin.c;h=ff3e8c028211548ecbb189e51e2e9e2c7fcd260a;hb=be83b0af60449c7b35d17d97f2e6dc12f611e831;hp=1cd06fc1affdbb31522cef49062ad249b21c10e1;hpb=4c19d9a203d0ff05ffe680732b4564d0e783d037;p=meshlink diff --git a/src/dropin.c b/src/dropin.c index 1cd06fc1..ff3e8c02 100644 --- a/src/dropin.c +++ b/src/dropin.c @@ -21,40 +21,6 @@ #include "xalloc.h" -#ifndef HAVE_GET_CURRENT_DIR_NAME -/* - Replacement for the GNU get_current_dir_name function: - - get_current_dir_name will malloc(3) an array big enough to hold the - current directory name. If the environment variable PWD is set, and - its value is correct, then that value will be returned. -*/ -char *get_current_dir_name(void) { - size_t size; - char *buf; - char *r; - - /* Start with 100 bytes. If this turns out to be insufficient to - contain the working directory, double the size. */ - size = 100; - buf = xmalloc(size); - - errno = 0; /* Success */ - r = getcwd(buf, size); - - /* getcwd returns NULL and sets errno to ERANGE if the bufferspace - is insufficient to contain the entire working directory. */ - while(r == NULL && errno == ERANGE) { - free(buf); - size <<= 1; /* double the size */ - buf = xmalloc(size); - r = getcwd(buf, size); - } - - return buf; -} -#endif - #ifndef HAVE_ASPRINTF int asprintf(char **buf, const char *fmt, ...) { int result; @@ -77,8 +43,9 @@ int vasprintf(char **buf, const char *fmt, va_list ap) { status = vsnprintf(*buf, len, fmt, aq); va_end(aq); - if(status >= 0) + if(status >= 0) { *buf = xrealloc(*buf, status + 1); + } if(status > len - 1) { len = status;