Make signedness of integers explicit, and fix double read/write.
Also fix typo of i63 for i64


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666380 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/alterl/src/thrift_binary_protocol.erl b/lib/alterl/src/thrift_binary_protocol.erl
index 6df9fdb..f71e547 100644
--- a/lib/alterl/src/thrift_binary_protocol.erl
+++ b/lib/alterl/src/thrift_binary_protocol.erl
@@ -94,19 +94,19 @@
 write(This, {bool, false}) -> write(This, {byte, 0});
 
 write(This, {byte, Byte}) ->
-    write(This, <<Byte:8/big>>);
+    write(This, <<Byte:8/big-signed>>);
 
 write(This, {i16, I16}) ->
-    write(This, <<I16:16/big>>);
+    write(This, <<I16:16/big-signed>>);
 
 write(This, {i32, I32}) ->
-    write(This, <<I32:32/big>>);
+    write(This, <<I32:32/big-signed>>);
 
-write(This, {i63, I64}) ->
-    write(This, <<I64:64/big>>);
+write(This, {i64, I64}) ->
+    write(This, <<I64:64/big-signed>>);
 
 write(This, {double, Double}) ->
-    write(This, <<Double:64/big>>);
+    write(This, <<Double:64/big-signed-float>>);
 
 write(This, {string, Str}) when is_list(Str) ->
     write(This, {i32, length(Str)}),