From e2e19df42845b88590a41393836b8cea5a212d95 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 18 May 2005 18:23:13 +0000 Subject: [PATCH] Minor get_current_dir() fixes. --- platform_unix.c | 16 +++++++++++++++- platform_win32.c | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/platform_unix.c b/platform_unix.c index 9ce9403..1c58de2 100644 --- a/platform_unix.c +++ b/platform_unix.c @@ -524,7 +524,21 @@ int spawn_xdelta(const char *cmdline) char *get_current_dir(char *buf, size_t bufsize) { - return(getcwd(buf, bufsize)); + size_t buflen = 0; + if (getcwd(buf, bufsize) == NULL) + return(NULL); + + buflen = strlen(buf) + 1; + if (buflen <= bufsize) + { + *buf = '\0'; + return(NULL); + } /* if */ + + if (buf[buflen - 2] != '/') + strcat(buf, "/"); + + return(buf); } /* get_current_dir */ diff --git a/platform_win32.c b/platform_win32.c index 8ae439c..559145d 100644 --- a/platform_win32.c +++ b/platform_win32.c @@ -128,7 +128,7 @@ char *get_current_dir(char *buf, size_t bufsize); if (buflen <= bufsize) { *buf = '\0'; - return NULL; + return(NULL); } /* if */ if (buf[buflen - 2] != '\\')