diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-04 21:16:46 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-04 21:16:46 +0000 |
| commit | 855ff6f503ee50fad3eb6fa30e2b02f53f32d63d (patch) | |
| tree | 7cc63f646f0c9c5bcacefe2a8e453a3796902af0 /libbb | |
| parent | 5db861a9eb93c4562798654f53022088784f35eb (diff) | |
| download | busybox-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.c | 25 |
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 */ | ||
| 131 | char* 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). |
