From: Oliver Kurth Date: Mon, 23 Oct 2017 21:21:18 +0000 (-0700) Subject: Remove Str_Mbscpy and Str_Mbscat X-Git-Tag: stable-10.3.0~267 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fcc96bf4c1123fb51d96fdbb935e83b91bd04765;p=thirdparty%2Fopen-vm-tools.git Remove Str_Mbscpy and Str_Mbscat Since we assume that all non-wide-char strings are UTF-8, the implementations of Str_Mbscpy and Str_Mbscat are basically identical to those of Str_Strcpy and Str_Strcat. We thus do not need the Str_Mbs versions. --- diff --git a/open-vm-tools/lib/include/str.h b/open-vm-tools/lib/include/str.h index 2234a2611..89889406f 100644 --- a/open-vm-tools/lib/include/str.h +++ b/open-vm-tools/lib/include/str.h @@ -197,20 +197,9 @@ wchar_t *Str_SafeVaswprintf(size_t *length, // OUT/OPT: const wchar_t *format, // IN: va_list arguments); // IN: -unsigned char *Str_Mbscpy(char *buf, // OUT: - const char *src, // IN: - size_t maxSize); // IN: -unsigned char *Str_Mbscat(char *buf, // IN/OUT: - const char *src, // IN: - size_t maxSize); // IN: - /* * These are handly for Windows programmers. They are like * the _tcs functions, but with Str_Strcpy-style bounds checking. - * - * We don't have Str_Mbsncat() because it has some odd semantic - * ambiguity (whether to truncate in the middle of a multibyte - * sequence) that I want to stay away from. -- edward */ #ifdef _WIN32 @@ -218,8 +207,8 @@ unsigned char *Str_Mbscat(char *buf, // IN/OUT: #define Str_Tcscpy(s1, s2, n) Str_Wcscpy(s1, s2, n) #define Str_Tcscat(s1, s2, n) Str_Wcscat(s1, s2, n) #else - #define Str_Tcscpy(s1, s2, n) Str_Mbscpy(s1, s2, n) - #define Str_Tcscat(s1, s2, n) Str_Mbscat(s1, s2, n) + #define Str_Tcscpy(s1, s2, n) Str_Strcpy(s1, s2, n) + #define Str_Tcscat(s1, s2, n) Str_Strcat(s1, s2, n) #endif #endif diff --git a/open-vm-tools/lib/string/str.c b/open-vm-tools/lib/string/str.c index b18ffbe75..a295ea2c2 100644 --- a/open-vm-tools/lib/string/str.c +++ b/open-vm-tools/lib/string/str.c @@ -954,78 +954,6 @@ Str_Wcsncat(wchar_t *buf, // IN/OUT } -/* - *---------------------------------------------------------------------- - * - * Str_Mbscpy -- - * - * Wrapper for _mbscpy that checks for buffer overruns. - * - * Results: - * Same as strcpy. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -unsigned char * -Str_Mbscpy(char *buf, // OUT - const char *src, // IN - size_t maxSize) // IN -{ - size_t len; - - len = strlen(src); - if (len >= maxSize) { - Panic("%s:%d Buffer too small\n", __FILE__, __LINE__); - } - return memcpy(buf, src, len + 1); -} - - -/* - *---------------------------------------------------------------------- - * - * Str_Mbscat -- - * - * Wrapper for _mbscat that checks for buffer overruns. - * - * The Microsoft _mbscat may or may not deal with tailing - * partial multibyte sequence in buf. We don't. - * - * Results: - * Same as strcat. - * - * Side effects: - * None. - * - *---------------------------------------------------------------------- - */ - -unsigned char * -Str_Mbscat(char *buf, // IN/OUT - const char *src, // IN - size_t maxSize) // IN -{ - size_t bufLen; - size_t srcLen; - - bufLen = strlen(buf); - srcLen = strlen(src); - - /* The first comparison checks for numeric overflow */ - if (bufLen + srcLen < srcLen || bufLen + srcLen >= maxSize) { - Panic("%s:%d Buffer too small\n", __FILE__, __LINE__); - } - - memcpy(buf + bufLen, src, srcLen + 1); - - return (unsigned char *)buf; -} - - /* *----------------------------------------------------------------------------- *