From 9361f83933042cf3e73ad47a9c3bc00dbc79e8ea Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 18 Feb 2005 20:17:15 +0000 Subject: [PATCH] Added read_short() and write_short(). --- io.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/io.c b/io.c index 004ae666..e5574025 100644 --- a/io.c +++ b/io.c @@ -729,6 +729,14 @@ static void readfd(int fd, char *buffer, size_t N) } +unsigned short read_short(int f) +{ + uchar b[2]; + readfd(f, (char *)b, 2); + return (b[1] << 8) + b[0]; +} + + int32 read_int(int f) { char b[4]; @@ -772,9 +780,9 @@ void read_sbuf(int f,char *buf,size_t len) buf[len] = 0; } -unsigned char read_byte(int f) +uchar read_byte(int f) { - unsigned char c; + uchar c; readfd(f, (char *)&c, 1); return c; } @@ -1055,6 +1063,15 @@ static void writefd(int fd,char *buf,size_t len) } +void write_short(int f, unsigned short x) +{ + uchar b[2]; + b[0] = x; + b[1] = x >> 8; + writefd(f, (char *)b, 2); +} + + void write_int(int f,int32 x) { char b[4]; @@ -1101,19 +1118,20 @@ void write_buf(int f,char *buf,size_t len) writefd(f,buf,len); } + /** Write a string to the connection */ void write_sbuf(int f, char *buf) { writefd(f, buf, strlen(buf)); } -void write_byte(int f,unsigned char c) + +void write_byte(int f, uchar c) { writefd(f, (char *)&c, 1); } - /** * Read a line of up to @p maxlen characters into @p buf (not counting * the trailing null). Strips the (required) trailing newline and all -- 2.34.1