blaze822: safe_append: avoid different signedness in comparison

pull/156/head
Leah Neukirchen 5 years ago
parent 6645e80324
commit adb5850983

@ -152,14 +152,17 @@ skip_comment(char *s)
// never writes more than dstmax to dst // never writes more than dstmax to dst
// returns how many bytes were appended // returns how many bytes were appended
static size_t static size_t
safe_append(char *dst, size_t dstmax, char *strbeg, char *strend) safe_append(char *dst, size_t dstmax, char *srcbeg, char *srcend)
{ {
size_t srclen = srcend - srcbeg;
size_t dstlen = strlen(dst); size_t dstlen = strlen(dst);
if (dstmax - dstlen - 1 < strend - strbeg)
strend = strbeg + (dstmax - dstlen - 1); if (dstmax - dstlen - 1 < srclen)
memcpy(dst + dstlen, strbeg, strend - strbeg); srclen = dstmax - dstlen - 1;
dst[dstlen + (strend - strbeg)] = 0; memcpy(dst + dstlen, srcbeg, srclen);
return strend - strbeg; dst[dstlen + srclen] = 0;
return srclen;
} }
static size_t static size_t

Loading…
Cancel
Save