You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by jp...@apache.org on 2014/12/16 06:29:35 UTC

trafficserver git commit: generator: fix maybe-uninitialized warning

Repository: trafficserver
Updated Branches:
  refs/heads/master 3b43289cf -> 480142b4a


generator: fix maybe-uninitialized warning


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/480142b4
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/480142b4
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/480142b4

Branch: refs/heads/master
Commit: 480142b4ad5967763790e1fc4ea918c808f996f2
Parents: 3b43289
Author: James Peach <jp...@apache.org>
Authored: Mon Dec 15 21:29:29 2014 -0800
Committer: James Peach <jp...@apache.org>
Committed: Mon Dec 15 21:29:29 2014 -0800

----------------------------------------------------------------------
 plugins/experimental/generator/generator.cc | 54 ++++++++++--------------
 1 file changed, 22 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/480142b4/plugins/experimental/generator/generator.cc
----------------------------------------------------------------------
diff --git a/plugins/experimental/generator/generator.cc b/plugins/experimental/generator/generator.cc
index 610e64e..cda72fd 100644
--- a/plugins/experimental/generator/generator.cc
+++ b/plugins/experimental/generator/generator.cc
@@ -401,7 +401,7 @@ GeneratorInterceptionHook(TSCont contp, TSEvent event, void * edata)
 
     TSIOBufferBlock blk;
     ssize_t         consumed = 0;
-    TSParseResult   result;
+    TSParseResult   result = TS_PARSE_CONT;
 
     for (blk = TSIOBufferReaderStart(cdata.grq->readio.reader); blk; blk = TSIOBufferBlockNext(blk)) {
         const char *    ptr;
@@ -417,43 +417,33 @@ GeneratorInterceptionHook(TSCont contp, TSEvent event, void * edata)
         result = TSHttpHdrParseReq(rqheader.parser, rqheader.buffer, rqheader.header, &ptr, end);
         switch (result) {
         case TS_PARSE_ERROR:
-          break;
+          // If we got a bad request, just shut it down.
+          VDEBUG("bad request on grq=%p, sending an error", cdata.grq);
+          GeneratorRequestDestroy(cdata.grq, arg.vio, contp);
+          return TS_EVENT_ERROR;
+
         case TS_PARSE_DONE:
         case TS_PARSE_OK:
-          result = TS_PARSE_OK;
+          // Check the response.
+          VDEBUG("parsed request on grq=%p, sending a response ", cdata.grq);
+          if (GeneratorParseRequest(cdata.grq) && GeneratorWriteResponseHeader(cdata.grq, TSVIOVConnGet(arg.vio), contp)) {
+            // If this is a HEAD request, we don't need to send any bytes.
+            if (cdata.grq->flags & GeneratorRequest::ISHEAD) {
+              cdata.grq->nbytes = 0;
+            }
+            return TS_EVENT_NONE;
+          }
+
+          // We got a syntactically bad URL. It would be graceful to send
+          // a 400 response, but we are graceless and just fail the
+          // transaction.
+          GeneratorRequestDestroy(cdata.grq, arg.vio, contp);
+          return TS_EVENT_ERROR;
+
         case TS_PARSE_CONT:
           // We consumed the buffer we got minus the remainder.
           consumed += (nbytes - std::distance(ptr, end));
         }
-
-        if (result == TS_PARSE_ERROR || result == TS_PARSE_OK) {
-            break;
-        }
-    }
-
-    // If we got a bad request, just shut it down.
-    if (result == TS_PARSE_ERROR) {
-      VDEBUG("bad request on grq=%p, sending an error", cdata.grq);
-      GeneratorRequestDestroy(cdata.grq, arg.vio, contp);
-      return TS_EVENT_ERROR;
-    }
-
-    if (result == TS_PARSE_OK) {
-      // Check the response.
-      VDEBUG("parsed request on grq=%p, sending a response ", cdata.grq);
-      if (GeneratorParseRequest(cdata.grq) && GeneratorWriteResponseHeader(cdata.grq, TSVIOVConnGet(arg.vio), contp)) {
-        // If this is a HEAD request, we don't need to send any bytes.
-        if (cdata.grq->flags & GeneratorRequest::ISHEAD) {
-          cdata.grq->nbytes = 0;
-        }
-        return TS_EVENT_NONE;
-      }
-
-      // We got a syntactically bad URL. It would be graceful to send
-      // a 400 response, but we are graceless and just fail the
-      // transaction.
-      GeneratorRequestDestroy(cdata.grq, arg.vio, contp);
-      return TS_EVENT_ERROR;
     }
 
     TSReleaseAssert(result == TS_PARSE_CONT);