diff --git a/src/modules/files/configure.in b/src/modules/files/configure.in index 340550c4cbc13449d09818b91924783766b647fe..009efb36cd41bf07978f0e56cefeae82dfe7a9d0 100644 --- a/src/modules/files/configure.in +++ b/src/modules/files/configure.in @@ -9,7 +9,7 @@ AC_HAVE_HEADERS(arpa/inet.h sys/socketvar.h netinet/in.h) AC_HEADER_DIRENT AC_CHECK_LIB(socket, socket) -AC_HAVE_FUNCS(socketpair) +AC_HAVE_FUNCS(socketpair getwd getcwd) AC_MSG_CHECKING(size of socket buffers) AC_CACHE_VAL(lpc_cv_socket_buffer_max, diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c index 8245da5a977780817f348d051f2180811c64c12b..1467cd71637bd405d79cc42189053ea811c59176 100644 --- a/src/modules/files/efuns.c +++ b/src/modules/files/efuns.c @@ -194,12 +194,14 @@ void f_getcwd(INT32 args) char *e; pop_n_elems(args); -#ifdef HAVE_GETCWD - e=(char *)getcwd(0,1000); -#else +#ifdef HAVE_GETWD e=(char *)getwd((char *)malloc(MAXPATHLEN+1)); if(!e) fatal("Couldn't fetch current path.\n"); +#else +#ifdef HAVE_GETCWD + e=(char *)getcwd(0,1000); +#endif #endif push_string(make_shared_string(e)); free(e);