Remove an unneeded goto in the decompressor; it turns out that the
state of ip_ after decompression (or attempted decompresion) is
completely irrelevant, so we don't need the trailer.

Performance is, as expected, mostly flat -- there's a curious ~3-5%
loss in the "lsp" test, but that test case is so short it is hard to say
anything definitive about why (most likely, it's some sort of
unrelated effect).

R=jeff


git-svn-id: https://snappy.googlecode.com/svn/trunk@39 03e5f5b5-db94-4691-08a0-1a8bf15f6143
diff --git a/snappy.cc b/snappy.cc
index b3045a3..a591aba 100644
--- a/snappy.cc
+++ b/snappy.cc
@@ -673,19 +673,19 @@
         uint32 avail = ip_limit_ - ip;
         while (avail < literal_length) {
           bool allow_fast_path = (avail >= 16);
-          if (!writer->Append(ip, avail, allow_fast_path)) goto end;
+          if (!writer->Append(ip, avail, allow_fast_path)) return;
           literal_length -= avail;
           reader_->Skip(peeked_);
           size_t n;
           ip = reader_->Peek(&n);
           avail = n;
           peeked_ = avail;
-          if (avail == 0) goto end;  // Premature end of input
+          if (avail == 0) return;  // Premature end of input
           ip_limit_ = ip + avail;
         }
         bool allow_fast_path = (avail >= 16);
         if (!writer->Append(ip, literal_length, allow_fast_path)) {
-          goto end;
+          return;
         }
         ip += literal_length;
       } else {
@@ -694,13 +694,10 @@
         // bit 8).
         const uint32 copy_offset = entry & 0x700;
         if (!writer->AppendFromSelf(copy_offset + trailer, length)) {
-          goto end;
+          return;
         }
       }
     }
-
-end:
-    ip_ = ip;
   }
 };