Phillip Wood [off-list ref] writes:
quoted
endp = memchr(data, '\n', size);
len = endp ? (endp - data + 1) : size;
+ plen = len;
+
+ if (!endp) {
+ plen = len + 1;
+ pdata = xmalloc(plen + 2);
+ memcpy(pdata, data, len);
+ pdata[len] = '\n';
+ pdata[len + 1] = '\0';
+ }
I think it would be clearer to refactor this as
endp = memchr(data, '\n', size);
- len = endp ? (endp - data + 1) : size;
if (endp) {
len = endp - data + 1;
plen = len;
} else {
len = size;
+ plen = len + 1;
+ pdata = xmalloc(plen + 2);
+ memcpy(pdata, data, len);
+ pdata[len] = '\n';
+ pdata[len + 1] = '\0';
+ }
Perhaps. I'll try and see if I agree.
Thanks.