aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-08-04 21:16:46 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-08-04 21:16:46 +0000
commit855ff6f503ee50fad3eb6fa30e2b02f53f32d63d (patch)
tree7cc63f646f0c9c5bcacefe2a8e453a3796902af0 /libbb
parent5db861a9eb93c4562798654f53022088784f35eb (diff)
downloadbusybox-w32-855ff6f503ee50fad3eb6fa30e2b02f53f32d63d.tar.gz
busybox-w32-855ff6f503ee50fad3eb6fa30e2b02f53f32d63d.tar.bz2
busybox-w32-855ff6f503ee50fad3eb6fa30e2b02f53f32d63d.zip
modprobe: use buffering line reads (fgets) instead of reads().
libbb: remove reads() function old new delta include_conf_file_act 961 980 +19 localcmd 282 284 +2 already_loaded 155 151 -4 in_cksum 58 53 -5 modprobe_main 1630 1624 -6 reads 129 - -129 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 2/3 up/down: 21/-144) Total: -123 bytes
Diffstat (limited to 'libbb')
-rw-r--r--libbb/read.c25
1 files changed, 0 insertions, 25 deletions
diff --git a/libbb/read.c b/libbb/read.c
index 7af895207..18f62838e 100644
--- a/libbb/read.c
+++ b/libbb/read.c
@@ -127,31 +127,6 @@ unsigned char FAST_FUNC xread_char(int fd)
127 return tmp; 127 return tmp;
128} 128}
129 129
130/* Read one line a-la fgets. Works only on seekable streams */
131char* FAST_FUNC reads(int fd, char *buffer, size_t size)
132{
133 char *p;
134
135 if (size < 2)
136 return NULL;
137 size = full_read(fd, buffer, size-1);
138 if ((ssize_t)size <= 0)
139 return NULL;
140
141 buffer[size] = '\0';
142 p = strchr(buffer, '\n');
143 if (p) {
144 off_t offset;
145 *p++ = '\0';
146 /* avoid incorrect (unsigned) widening */
147 offset = (off_t)(p - buffer) - (off_t)size;
148 /* set fd position right after '\n' */
149 if (offset && lseek(fd, offset, SEEK_CUR) == (off_t)-1)
150 return NULL;
151 }
152 return buffer;
153}
154
155// Reads one line a-la fgets (but doesn't save terminating '\n'). 130// Reads one line a-la fgets (but doesn't save terminating '\n').
156// Reads byte-by-byte. Useful when it is important to not read ahead. 131// Reads byte-by-byte. Useful when it is important to not read ahead.
157// Bytes are appended to pfx (which must be malloced, or NULL). 132// Bytes are appended to pfx (which must be malloced, or NULL).