]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
replace: added get_current_dir_name()
authorAndrew Tridgell <tridge@samba.org>
Fri, 5 Mar 2010 11:45:27 +0000 (22:45 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 5 Mar 2010 12:07:32 +0000 (23:07 +1100)
lib/replace/libreplace.m4
lib/replace/replace.c
lib/replace/replace.h

index c8cd213b83da6a893f9462dca0ce7a53106613d6..8b7a56ecb7d45e03c3b72d35439c426893b37fb6 100644 (file)
@@ -109,6 +109,7 @@ AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename)
 AC_CHECK_FUNCS(waitpid wait4 strlcpy strlcat initgroups memmove strdup)
 AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp dup2 dprintf vdprintf)
 AC_CHECK_FUNCS(isatty chown lchown link readlink symlink realpath fdatasync)
+AC_CHECK_FUNCS(get_current_dir_name)
 AC_HAVE_DECL(setresuid, [#include <unistd.h>])
 AC_HAVE_DECL(setresgid, [#include <unistd.h>])
 AC_HAVE_DECL(errno, [#include <errno.h>])
index 8eba98acf40eab8438afee86fd118d8a6ed33a69..f2dcb10ddca14d332c6dcd8f42565be69858c429 100644 (file)
@@ -735,3 +735,15 @@ int dprintf(int fd, const char *format, ...)
 }
 #endif
 
+#ifndef HAVE_GET_CURRENT_DIR_NAME
+char *rep_get_current_dir_name(void)
+{
+       char buf[PATH_MAX+1];
+       char *p;
+       p = getcwd(buf, sizeof(buf));
+       if (p == NULL) {
+               return NULL;
+       }
+       return strdup(p);
+}
+#endif
index a4ef231385ef73cfd53b9f49198d609c98a91352..e7578cd60faba83c928711a913c6103ed5ed8182 100644 (file)
@@ -497,6 +497,11 @@ ssize_t rep_pwrite(int __fd, const void *__buf, size_t __nbytes, off_t __offset)
 /* prototype is in "system/network.h" */
 #endif
 
+#ifndef HAVE_GET_CURRENT_DIR_NAME
+#define get_current_dir_name rep_get_current_dir_name
+char *rep_get_current_dir_name(void);
+#endif
+
 #ifdef HAVE_LIMITS_H
 #include <limits.h>
 #endif