From f21cc9e93a6132d0471441569adfa86197f79ead Mon Sep 17 00:00:00 2001 From: Ron Yorston <rmy@pobox.com> Date: Thu, 13 Feb 2020 11:44:28 +0000 Subject: win32: code shrink Have bs_to_slash() return a pointer to its argument. This allows some calls to be chained, saving 32 bytes. --- win32/mingw.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'win32') diff --git a/win32/mingw.c b/win32/mingw.c index 8f4d155b8..bada160da 100644 --- a/win32/mingw.c +++ b/win32/mingw.c @@ -791,8 +791,7 @@ char *mingw_getcwd(char *pointer, int len) char *ret = getcwd(pointer, len); if (!ret) return ret; - bs_to_slash(ret); - return ret; + return bs_to_slash(ret); } #undef rename @@ -846,9 +845,7 @@ static char *gethomedir(void) GetUserProfileDirectory(h, buf, &len); CloseHandle(h); - bs_to_slash(buf); - - return buf; + return bs_to_slash(buf); } #define NAME_LEN 100 @@ -1109,8 +1106,7 @@ char *realpath(const char *path, char *resolved_path) if (_fullpath(buffer, path, MAX_PATH) && (real_path=resolve_symlinks(buffer))) { - strcpy(resolved_path, real_path); - bs_to_slash(resolved_path); + bs_to_slash(strcpy(resolved_path, real_path)); p = last_char_is(resolved_path, '/'); if (p && p > resolved_path && p[-1] != ':') *p = '\0'; @@ -1496,13 +1492,16 @@ char *alloc_win32_extension(const char *p) return NULL; } -void FAST_FUNC bs_to_slash(char *p) +char * FAST_FUNC bs_to_slash(char *str) { - for (; *p; ++p) { + char *p; + + for (p=str; *p; ++p) { if ( *p == '\\' ) { *p = '/'; } } + return str; } void FAST_FUNC slash_to_bs(char *p) @@ -1723,8 +1722,7 @@ char *get_drive_cwd(const char *path, char *buffer, int size) ret = GetFullPathName(drive, size, buffer, NULL); if (ret == 0 || ret > size) return NULL; - bs_to_slash(buffer); - return buffer; + return bs_to_slash(buffer); } void fix_path_case(char *path) -- cgit v1.2.3-55-g6feb