From: Nick Mathewson Date: Fri, 31 Jul 2009 17:34:18 +0000 (+0000) Subject: Improved coverage for evbuffer_readln() X-Git-Tag: release-2.0.3-alpha~136 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6dc488bd7ee616c84dd2867e34ec6ad26e5f49ac;p=libevent Improved coverage for evbuffer_readln() svn:r1402 --- diff --git a/test/regress_buffer.c b/test/regress_buffer.c index 1d698290..ff7cccad 100644 --- a/test/regress_buffer.c +++ b/test/regress_buffer.c @@ -493,7 +493,6 @@ test_evbuffer_readln(void *ptr) cp = evbuffer_readln(evb, &sz, EVBUFFER_EOL_CRLF_STRICT); tt_assert(!cp); - free(cp); evbuffer_validate(evb); evbuffer_add(evb, "\n", 1); evbuffer_validate(evb); @@ -504,6 +503,25 @@ test_evbuffer_readln(void *ptr) tt_assert(evbuffer_get_length(evb) == 0); evbuffer_validate(evb); + s = "An internal CR\r is not an eol\r\nNor is a lack of one"; + evbuffer_add(evb, s, strlen(s)); + cp = evbuffer_readln(evb, &sz, EVBUFFER_EOL_CRLF_STRICT); + tt_line_eq("An internal CR\r is not an eol"); + free(cp); + evbuffer_validate(evb); + + cp = evbuffer_readln(evb, &sz, EVBUFFER_EOL_CRLF_STRICT); + tt_assert(!cp); + evbuffer_validate(evb); + + evbuffer_add(evb, "\r\n", 2); + evbuffer_validate(evb); + cp = evbuffer_readln(evb, &sz, EVBUFFER_EOL_CRLF_STRICT); + tt_line_eq("Nor is a lack of one"); + free(cp); + tt_assert(evbuffer_get_length(evb) == 0); + evbuffer_validate(evb); + /* Test LF */ s = "An\rand a nl\n\nText"; evbuffer_add(evb, s, strlen(s));