X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flib%2Fstring.c;h=01e4ecb378d462e4fb639ea01db177cb8070f977;hb=7665c366dc222ad23602e34324907f27596186ba;hp=bec4444670b025768485cb143edb0329de3cb60c;hpb=f2f8875638593bd5365cfd6a5ba7c9578e52322f;p=pintos-anon diff --git a/src/lib/string.c b/src/lib/string.c index bec4444..01e4ecb 100644 --- a/src/lib/string.c +++ b/src/lib/string.c @@ -212,7 +212,9 @@ strstr (const char *haystack, const char *needle) single string. strtok_r() modifies the string S, changing delimiters to null - bytes. Thus, S must be a modifiable string. + bytes. Thus, S must be a modifiable string. String literals, + in particular, are *not* modifiable in C, even though for + backward compatibility they are not `const'. Example usage: @@ -333,7 +335,7 @@ strlcpy (char *dst, const char *src, size_t size) { size_t dst_len = size - 1; if (src_len < dst_len) - src_len = dst_len; + dst_len = src_len; memcpy (dst, src, dst_len); dst[dst_len] = '\0'; }