X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Futils%2Fstrbuf.c;h=4d8fc8b91ba234df10edd8d15d552169bcbf9930;hb=a6753b33e70f0934d4b34b19366eddda56f05d9c;hp=2b64480c55fc5960c816f83ef3a6b3bf626c1faf;hpb=9fb079db93a6964c160439d851270b3433db59f5;p=sysdb.git diff --git a/src/utils/strbuf.c b/src/utils/strbuf.c index 2b64480..4d8fc8b 100644 --- a/src/utils/strbuf.c +++ b/src/utils/strbuf.c @@ -238,13 +238,18 @@ sdb_strbuf_memcpy(sdb_strbuf_t *strbuf, const void *data, size_t n) ssize_t sdb_strbuf_read(sdb_strbuf_t *strbuf, int fd, size_t n) { + ssize_t ret; + if (! strbuf) return -1; if (strbuf_resize(strbuf, strbuf->pos + n + 1)) return -1; - return read(fd, strbuf->string + strbuf->pos, n); + ret = read(fd, strbuf->string + strbuf->pos, n); + if (ret > 0) + strbuf->pos += (size_t)ret; + return ret; } /* sdb_strbuf_read */ ssize_t