diff options
author | vda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2006-10-12 22:44:13 +0000 |
---|---|---|
committer | vda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2006-10-12 22:44:13 +0000 |
commit | 6147e0907e5b5e3a07a4c8976097a585faaa3895 (patch) | |
tree | 5df56293dd5b0266ae5964ef5dad5e8b2794f121 | |
parent | 60c92512459bf4e5a072387dfa4d03ae85035cba (diff) | |
download | busybox-w32-6147e0907e5b5e3a07a4c8976097a585faaa3895.tar.gz busybox-w32-6147e0907e5b5e3a07a4c8976097a585faaa3895.tar.bz2 busybox-w32-6147e0907e5b5e3a07a4c8976097a585faaa3895.zip |
xread/write can use full_read/write (smaller code)
git-svn-id: svn://busybox.net/trunk/busybox@16376 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | libbb/full_read.c | 2 | ||||
-rw-r--r-- | libbb/full_write.c | 2 | ||||
-rw-r--r-- | libbb/xfuncs.c | 16 |
3 files changed, 8 insertions, 12 deletions
diff --git a/libbb/full_read.c b/libbb/full_read.c index b5837d5bd..068d16698 100644 --- a/libbb/full_read.c +++ b/libbb/full_read.c | |||
@@ -24,7 +24,7 @@ ssize_t full_read(int fd, void *buf, size_t len) | |||
24 | 24 | ||
25 | total = 0; | 25 | total = 0; |
26 | 26 | ||
27 | while (len > 0) { | 27 | while (len) { |
28 | cc = safe_read(fd, buf, len); | 28 | cc = safe_read(fd, buf, len); |
29 | 29 | ||
30 | if (cc < 0) | 30 | if (cc < 0) |
diff --git a/libbb/full_write.c b/libbb/full_write.c index d812d04b4..563f4a851 100644 --- a/libbb/full_write.c +++ b/libbb/full_write.c | |||
@@ -23,7 +23,7 @@ ssize_t full_write(int fd, const void *buf, size_t len) | |||
23 | 23 | ||
24 | total = 0; | 24 | total = 0; |
25 | 25 | ||
26 | while (len > 0) { | 26 | while (len) { |
27 | cc = safe_write(fd, buf, len); | 27 | cc = safe_write(fd, buf, len); |
28 | 28 | ||
29 | if (cc < 0) | 29 | if (cc < 0) |
diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index d22cd279a..efc919491 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c | |||
@@ -113,24 +113,20 @@ int xopen3(const char *pathname, int flags, int mode) | |||
113 | // Die with an error message if we can't read the entire buffer. | 113 | // Die with an error message if we can't read the entire buffer. |
114 | void xread(int fd, void *buf, size_t count) | 114 | void xread(int fd, void *buf, size_t count) |
115 | { | 115 | { |
116 | while (count) { | 116 | if (count) { |
117 | ssize_t size = safe_read(fd, buf, count); | 117 | ssize_t size = full_read(fd, buf, count); |
118 | if (size < 1) | 118 | if (size != count) |
119 | bb_error_msg_and_die("short read"); | 119 | bb_error_msg_and_die("short read"); |
120 | count -= size; | ||
121 | buf = ((char *) buf) + size; | ||
122 | } | 120 | } |
123 | } | 121 | } |
124 | 122 | ||
125 | // Die with an error message if we can't write the entire buffer. | 123 | // Die with an error message if we can't write the entire buffer. |
126 | void xwrite(int fd, void *buf, size_t count) | 124 | void xwrite(int fd, void *buf, size_t count) |
127 | { | 125 | { |
128 | while (count) { | 126 | if (count) { |
129 | ssize_t size = safe_write(fd, buf, count); | 127 | ssize_t size = full_write(fd, buf, count); |
130 | if (size < 1) | 128 | if (size != count) |
131 | bb_error_msg_and_die("short write"); | 129 | bb_error_msg_and_die("short write"); |
132 | count -= size; | ||
133 | buf = ((char *) buf) + size; | ||
134 | } | 130 | } |
135 | } | 131 | } |
136 | 132 | ||