summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2005-02-18 20:17:15 +0000
committerWayne Davison <wayned@samba.org>2005-02-18 20:17:15 +0000
commit9361f83933042cf3e73ad47a9c3bc00dbc79e8ea (patch)
treea94d5177a6e29ed7fe80836327a407c019fe9877 /io.c
parent3b2bebbf909976a7154ff76d6a20335ee273b3d2 (diff)
downloadrsync-9361f83933042cf3e73ad47a9c3bc00dbc79e8ea.tar.gz
rsync-9361f83933042cf3e73ad47a9c3bc00dbc79e8ea.tar.bz2
rsync-9361f83933042cf3e73ad47a9c3bc00dbc79e8ea.zip
Added read_short() and write_short().
Diffstat (limited to 'io.c')
-rw-r--r--io.c26
1 files 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