diff options
Diffstat (limited to 'src/common/strlib.c')
-rw-r--r-- | src/common/strlib.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/common/strlib.c b/src/common/strlib.c index 8f164f2e9..b67adb63c 100644 --- a/src/common/strlib.c +++ b/src/common/strlib.c @@ -271,10 +271,9 @@ char* strlib_strtok_r(char *s1, const char *s2, char **lasts) size_t strlib_strnlen(const char *string, size_t maxlen) { -// TODO: The _MSC_VER check can probably be removed (we no longer support VS -// versions <= 2003, do we?), but this implementation might be still necessary -// for NetBSD 5.x and possibly some Solaris versions. -#if !(defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1400) && !defined(HAVE_STRNLEN) +// TODO: Verify whether this implementation is still necessary for NetBSD 5.x +// and possibly some Solaris versions. +#if !(defined(WIN32) && defined(_MSC_VER)) && !defined(HAVE_STRNLEN) /* Find the length of STRING, but scan at most MAXLEN characters. * If no '\0' terminator is found in that many characters, return MAXLEN. */ @@ -629,6 +628,7 @@ int sv_parse(const char* str, int len, int startoff, char delim, int* out_pos, i svstate.opt = opt; svstate.delim = delim; svstate.done = false; + svstate.start = 0; // parse count = 0; @@ -772,6 +772,7 @@ size_t sv_escape_c(char* out_dest, const char* src, size_t len, const char* esca case '\v': out_dest[j++] = 'v'; break; case '\f': out_dest[j++] = 'f'; break; case '\?': out_dest[j++] = '?'; break; + case '\"': out_dest[j++] = '"'; break; default:// to octal out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0700)>>6)); out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0070)>>3)); @@ -1113,7 +1114,7 @@ void strlib_defaults(void) { strlib->normalize_name_ = strlib_normalize_name; strlib->stristr_ = strlib_stristr; -#if !(defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1400) && !defined(HAVE_STRNLEN) +#if !(defined(WIN32) && defined(_MSC_VER)) && !defined(HAVE_STRNLEN) strlib->strnlen_ = strlib_strnlen; #else strlib->strnlen_ = NULL; |