Commit 9b3de692 authored by csharptest's avatar csharptest Committed by rogerk

Changes from review f60f2676f7fa

parent 3aa06356
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment