Browse Source

Changes from review f60f2676f7fa

csharptest 14 years ago
parent
commit
9b3de69224
1 changed files with 9 additions and 14 deletions
  1. 9 14
      src/ProtocolBuffers/CodedInputStream.cs

+ 9 - 14
src/ProtocolBuffers/CodedInputStream.cs

@@ -190,17 +190,9 @@ namespace Google.ProtocolBuffers
         /// Attempt to read a field tag, returning false if we have reached the end
         /// of the input data.
         /// </summary>
-        /// <remarks>
-        /// <para>
-        /// If fieldTag is non-zero and ReadTag returns true then the value in fieldName
-        /// may or may not be populated.  However, if fieldTag is zero and ReadTag returns
-        /// true, then fieldName should be populated with a non-null field name.
-        /// </para><para>
-        /// In other words if ReadTag returns true then either fieldTag will be non-zero OR
-        /// fieldName will be non-zero.  In some cases both may be populated, however the
-        /// builders will always prefer the fieldTag over fieldName.
-        /// </para>
-        /// </remarks>
+        /// <param name="fieldTag">The 'tag' of the field (id * 8 + wire-format)</param>
+        /// <param name="fieldName">Not Supported - For protobuffer streams, this parameter is always null</param>
+        /// <returns>true if the next fieldTag was read</returns>
         [CLSCompliant(false)]
         public bool ReadTag(out uint fieldTag, out string fieldName)
         {
@@ -208,18 +200,21 @@ namespace Google.ProtocolBuffers
 
             if (hasNextTag)
             {
-                lastTag = fieldTag = nextTag;
+                fieldTag = nextTag;
+                lastTag = fieldTag;
                 hasNextTag = false;
                 return true;
             }
 
             if (IsAtEnd)
             {
-                lastTag = fieldTag = 0;
+                fieldTag = 0;
+                lastTag = fieldTag;
                 return false;
             }
 
-            lastTag = fieldTag = ReadRawVarint32();
+            fieldTag = ReadRawVarint32();
+            lastTag = fieldTag;
             if (lastTag == 0)
             {
                 // If we actually read zero, that's not a valid tag.