aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers/CodedOutputStream.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-08-14 20:33:35 +0100
committerJon Skeet <skeet@pobox.com>2008-08-14 20:33:35 +0100
commitc0daf107249d95f454d489613de09a4898cefb20 (patch)
treebb95ccdec5b2b6156709ac29febf99ee73087e78 /csharp/ProtocolBuffers/CodedOutputStream.cs
parent800f65e20915d3cda9b6b681013dc0a5dd5ddee2 (diff)
downloadprotobuf-c0daf107249d95f454d489613de09a4898cefb20.tar.gz
protobuf-c0daf107249d95f454d489613de09a4898cefb20.tar.bz2
protobuf-c0daf107249d95f454d489613de09a4898cefb20.zip
Changed fixed size methods to return unsigned integers. Finished FieldSet. Introduced mapping from FieldType to WireType and MappedType.
Diffstat (limited to 'csharp/ProtocolBuffers/CodedOutputStream.cs')
-rw-r--r--csharp/ProtocolBuffers/CodedOutputStream.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/csharp/ProtocolBuffers/CodedOutputStream.cs b/csharp/ProtocolBuffers/CodedOutputStream.cs
index 5fec5274..260db868 100644
--- a/csharp/ProtocolBuffers/CodedOutputStream.cs
+++ b/csharp/ProtocolBuffers/CodedOutputStream.cs
@@ -99,7 +99,7 @@ namespace Google.ProtocolBuffers {
/// </summary>
public void WriteDouble(int fieldNumber, double value) {
WriteTag(fieldNumber, WireFormat.WireType.Fixed64);
- WriteRawLittleEndian64(BitConverter.DoubleToInt64Bits(value));
+ WriteRawLittleEndian64((ulong)BitConverter.DoubleToInt64Bits(value));
}
/// <summary>
@@ -143,7 +143,7 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// Writes a fixed64 field value, including tag, to the stream.
/// </summary>
- public void WriteFixed64(int fieldNumber, long value) {
+ public void WriteFixed64(int fieldNumber, ulong value) {
WriteTag(fieldNumber, WireFormat.WireType.Fixed64);
WriteRawLittleEndian64(value);
}
@@ -151,7 +151,7 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// Writes a fixed32 field value, including tag, to the stream.
/// </summary>
- public void WriteFixed32(int fieldNumber, int value) {
+ public void WriteFixed32(int fieldNumber, uint value) {
WriteTag(fieldNumber, WireFormat.WireType.Fixed32);
WriteRawLittleEndian32(value);
}
@@ -259,8 +259,8 @@ namespace Google.ProtocolBuffers {
case FieldType.Int64: WriteInt64(fieldNumber, (long)value); break;
case FieldType.UInt64: WriteUInt64(fieldNumber, (ulong)value); break;
case FieldType.Int32: WriteInt32(fieldNumber, (int)value); break;
- case FieldType.Fixed64: WriteFixed64(fieldNumber, (long)value); break;
- case FieldType.Fixed32: WriteFixed32(fieldNumber, (int)value); break;
+ case FieldType.Fixed64: WriteFixed64(fieldNumber, (ulong)value); break;
+ case FieldType.Fixed32: WriteFixed32(fieldNumber, (uint)value); break;
case FieldType.Bool: WriteBool(fieldNumber, (bool)value); break;
case FieldType.String: WriteString(fieldNumber, (string)value); break;
case FieldType.Group: WriteGroup(fieldNumber, (IMessage)value); break;
@@ -310,14 +310,14 @@ namespace Google.ProtocolBuffers {
}
}
- public void WriteRawLittleEndian32(int value) {
+ public void WriteRawLittleEndian32(uint value) {
WriteRawByte((byte)value);
WriteRawByte((byte)(value >> 8));
WriteRawByte((byte)(value >> 16));
WriteRawByte((byte)(value >> 24));
}
- public void WriteRawLittleEndian64(long value) {
+ public void WriteRawLittleEndian64(ulong value) {
WriteRawByte((byte)value);
WriteRawByte((byte)(value >> 8));
WriteRawByte((byte)(value >> 16));