summaryrefslogtreecommitdiff
path: root/qpid/dotnet/client-010/client/transport/codec
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2008-10-02 12:34:45 +0000
committerArnaud Simon <arnaudsimon@apache.org>2008-10-02 12:34:45 +0000
commit16abe32b572646be5e0a6a0b21cde553fa56bd67 (patch)
treeabffb1877f59f7601375499c857630f4da1d6ab4 /qpid/dotnet/client-010/client/transport/codec
parentdd2ed172b017cae24354bb0b7be9bd1f44249f3d (diff)
downloadqpid-python-16abe32b572646be5e0a6a0b21cde553fa56bd67.tar.gz
qpid-1277: fixed header conversion issues + added test
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@701107 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/dotnet/client-010/client/transport/codec')
-rw-r--r--qpid/dotnet/client-010/client/transport/codec/AbstractDecoder.cs10
-rw-r--r--qpid/dotnet/client-010/client/transport/codec/AbstractEncoder.cs10
-rw-r--r--qpid/dotnet/client-010/client/transport/codec/MSDecoder.cs2
-rw-r--r--qpid/dotnet/client-010/client/transport/codec/MSEncoder.cs2
4 files changed, 12 insertions, 12 deletions
diff --git a/qpid/dotnet/client-010/client/transport/codec/AbstractDecoder.cs b/qpid/dotnet/client-010/client/transport/codec/AbstractDecoder.cs
index eeb08ce2ae..44aecb0933 100644
--- a/qpid/dotnet/client-010/client/transport/codec/AbstractDecoder.cs
+++ b/qpid/dotnet/client-010/client/transport/codec/AbstractDecoder.cs
@@ -341,17 +341,17 @@ namespace org.apache.qpid.transport.codec
case Code.INT32:
return (int) readUint32();
- case Code.FLOAT:
- return (float) readUint32();
-
+ case Code.FLOAT:
+ return (float)BitConverter.Int64BitsToDouble(readUint32() << 32);
+
case Code.BIN64:
case Code.UINT64:
case Code.INT64:
case Code.DATETIME:
return readUint64();
- case Code.DOUBLE:
- return (double) readUint64();
+ case Code.DOUBLE:
+ return BitConverter.Int64BitsToDouble(readUint64());
case Code.UUID:
return readUuid();
case Code.STR8:
diff --git a/qpid/dotnet/client-010/client/transport/codec/AbstractEncoder.cs b/qpid/dotnet/client-010/client/transport/codec/AbstractEncoder.cs
index f70eb17a55..c89b96462e 100644
--- a/qpid/dotnet/client-010/client/transport/codec/AbstractEncoder.cs
+++ b/qpid/dotnet/client-010/client/transport/codec/AbstractEncoder.cs
@@ -23,7 +23,6 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text;
-using org.apache.qpid.transport.codec;
using org.apache.qpid.transport.util;
namespace org.apache.qpid.transport.codec
@@ -482,7 +481,8 @@ namespace org.apache.qpid.transport.codec
put((Byte) value);
break;
case Code.CHAR:
- put((byte) value);
+ byte[] b = BitConverter.GetBytes((char) value);
+ put(b[0]);
break;
case Code.BOOLEAN:
if ((bool) value)
@@ -516,18 +516,18 @@ namespace org.apache.qpid.transport.codec
break;
case Code.FLOAT:
- writeUint32((long) value);
+ writeUint32(BitConverter.DoubleToInt64Bits((float) value) >> 32);
break;
case Code.BIN64:
case Code.UINT64:
- case Code.INT64:
+ case Code.INT64:
case Code.DATETIME:
writeUint64((long) value);
break;
case Code.DOUBLE:
- writeUint64((long) value);
+ writeUint64( BitConverter.DoubleToInt64Bits((double) value));
break;
case Code.UUID:
diff --git a/qpid/dotnet/client-010/client/transport/codec/MSDecoder.cs b/qpid/dotnet/client-010/client/transport/codec/MSDecoder.cs
index a4f2a24801..cc8971d38b 100644
--- a/qpid/dotnet/client-010/client/transport/codec/MSDecoder.cs
+++ b/qpid/dotnet/client-010/client/transport/codec/MSDecoder.cs
@@ -76,7 +76,7 @@ namespace org.apache.qpid.transport.codec
public override long readUint64()
{
- return (long) ByteEncoder.GetBigEndian((Double) reader.ReadInt64());
+ return (long) ByteEncoder.GetBigEndian(reader.ReadInt64());
}
}
} \ No newline at end of file
diff --git a/qpid/dotnet/client-010/client/transport/codec/MSEncoder.cs b/qpid/dotnet/client-010/client/transport/codec/MSEncoder.cs
index bb78aa8680..b2ccbb89ae 100644
--- a/qpid/dotnet/client-010/client/transport/codec/MSEncoder.cs
+++ b/qpid/dotnet/client-010/client/transport/codec/MSEncoder.cs
@@ -90,7 +90,7 @@ namespace org.apache.qpid.transport.codec
public override void writeUint64(long l)
{
- _writer.Write(ByteEncoder.GetBigEndian((Double) l));
+ _writer.Write(ByteEncoder.GetBigEndian(l));
}
protected override int beginSize8()