X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/da090173a115e3450b23e6b84aa98972c4f1619e..056ab80ee9dfc9970457a2436d0cc29eb5caa7c2:/misc.c diff --git a/misc.c b/misc.c index a20c5b4..1d407de 100644 --- a/misc.c +++ b/misc.c @@ -90,13 +90,16 @@ void rdaddc(rdstringc *rs, char c) { rs->text[rs->pos] = 0; } void rdaddsc(rdstringc *rs, char const *p) { - int len = strlen(p); + rdaddsn(rs, p, strlen(p)); +} +void rdaddsn(rdstringc *rs, char const *p, int len) { if (rs->pos >= rs->size - len) { rs->size = rs->pos + len + 128; rs->text = sresize(rs->text, rs->size, char); } - strcpy(rs->text + rs->pos, p); + memcpy(rs->text + rs->pos, p, len); rs->pos += len; + rs->text[rs->pos] = 0; } char *rdtrimc(rdstringc *rs) { rs->text = sresize(rs->text, rs->pos + 1, char);