From: Amos Jeffries Date: Mon, 27 Jul 2009 13:06:51 +0000 (+1200) Subject: Remove more goto. Fixing one internal profiler error X-Git-Tag: SQUID_3_2_0_1~833 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=137e94fdb7c6522e35fad3ed090b7320dde9590c;p=thirdparty%2Fsquid.git Remove more goto. Fixing one internal profiler error --- diff --git a/src/HttpMsg.cc b/src/HttpMsg.cc index 1e6b04f773..9e9e737642 100644 --- a/src/HttpMsg.cc +++ b/src/HttpMsg.cc @@ -240,7 +240,6 @@ HttpMsg::httpMsgParseStep(const char *buf, int len, int atEnd) const char **parse_end_ptr = &blk_end; assert(parse_start); assert(pstate < psParsed); - int retval; *parse_end_ptr = parse_start; @@ -248,13 +247,13 @@ HttpMsg::httpMsgParseStep(const char *buf, int len, int atEnd) if (pstate == psReadyToParseStartLine) { if (!httpMsgIsolateStart(&parse_start, &blk_start, &blk_end)) { - retval = 0; - goto finish; + PROF_stop(HttpMsg_httpMsgParseStep); + return 0; } if (!parseFirstLine(blk_start, blk_end)) { - retval = httpMsgParseError(); - goto finish; + PROF_stop(HttpMsg_httpMsgParseStep); + return httpMsgParseError(); } *parse_end_ptr = parse_start; @@ -275,13 +274,15 @@ HttpMsg::httpMsgParseStep(const char *buf, int len, int atEnd) if (atEnd) { blk_start = parse_start, blk_end = blk_start + strlen(blk_start); } else { - retval = 0; - goto finish; + PROF_stop(HttpMsg_httpMsgParseStep); + return 0; } } - if (!header.parse(blk_start, blk_end)) + if (!header.parse(blk_start, blk_end)) { + PROF_stop(HttpMsg_httpMsgParseStep); return httpMsgParseError(); + } hdrCacheInit(); @@ -291,10 +292,9 @@ HttpMsg::httpMsgParseStep(const char *buf, int len, int atEnd) ++pstate; } - retval = 1; -finish: + PROF_stop(HttpMsg_httpMsgParseStep); - return retval; + return 1; } /* handy: resets and returns -1 */