diff options
Diffstat (limited to 'src/stream.c')
| -rw-r--r-- | src/stream.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/stream.c b/src/stream.c index 97a8a2d..e7dd7f7 100644 --- a/src/stream.c +++ b/src/stream.c @@ -6,9 +6,6 @@ #include <assert.h> #include <errno.h> -/* htons, ntohs */ -#include <arpa/inet.h> - #define STREAM_CHECK_OP(stream, op) \ do { if ((stream->ops->op) == NULL) \ { \ @@ -42,10 +39,11 @@ int64_t StreamRead(void *ptr, size_t size, Stream *stream) int64_t StreamReadUint16Be(uint16_t *v, Stream *stream) { + unsigned char data[2]; STREAM_CHECK_OP(stream, read); - if (StreamRead(v, 2, stream) != 2) + if (StreamRead(data, 2, stream) != 2) return -1; - *v = ntohs(*v); + *v = (data[1] << 0) | (data[0] << 1); return 2; } @@ -61,8 +59,10 @@ int64_t StreamWrite(const void *ptr, size_t size, Stream *stream) int64_t StreamWriteUint16Be(uint16_t v, Stream *stream) { - v = htons(v); - return StreamWrite(&v, sizeof(v), stream); + unsigned char data[2]; + data[0] = v >> 8; + data[1] = v; + return StreamWrite(data, sizeof(data), stream); } int StreamSeek(Stream *stream, int64_t offset, int whence) |
