diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2004-06-19 16:23:35 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2004-06-19 16:23:35 +0000 |
commit | 5dc7f10652f61bdaa0418bc31d614c1e9a2d64a1 (patch) | |
tree | 3eb3fc11b363ec7f48d6d6b9151272e5ec5e7f60 | |
parent | c48139777a5cbdf9cab47374b7b77cbcb19d2684 (diff) | |
download | anubis-5dc7f10652f61bdaa0418bc31d614c1e9a2d64a1.tar.gz anubis-5dc7f10652f61bdaa0418bc31d614c1e9a2d64a1.tar.bz2 |
(_auth_lb_writelines): Bugfix.
-rw-r--r-- | lib/lbuf.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -122,9 +122,11 @@ _auth_lb_writelines (struct _line_buffer *s, const char *iptr, size_t isize, { char *start, *end; - for (start = s->buffer, end = strchr (start, '\n'); + for (start = s->buffer, + end = memchr (start, '\n', s->buffer + s->level - start); end && end < s->buffer + s->level; - start = end + 1, end = strchr (start, '\n')) + start = end + 1, + end = memchr (start, '\n', s->buffer + s->level - start)) if (end[-1] == '\r') { int rc = wr (data, start, end); @@ -136,7 +138,7 @@ _auth_lb_writelines (struct _line_buffer *s, const char *iptr, size_t isize, { if (start < s->buffer + s->level) { - int rest = s->buffer + s->level - start + 1; + int rest = s->buffer + s->level - start; memmove (s->buffer, start, rest); s->level = rest; } |