summaryrefslogtreecommitdiffhomepage
path: root/libbb/get_line_from_file.c
AgeCommit message (Collapse)Author
2018-09-02libbb: in xmalloc_fgets(), use size_t for bb_get_chunk_from_file()Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-09-02Revert "libbb: remove unnecessary variable in xmalloc_fgets"Denys Vlasenko
The variable is in fact necessary. commit 2da9724b56169f00bd7fb6b9a11c9409a7620981 Author: Quentin Rameau <quinq@fifth.space> Date: Sun Apr 1 17:05:35 2018 +0200 libbb: remove unnecessary variable in xmalloc_fgets Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-01libbb: new function bb_die_memory_exhaustedDenys Vlasenko
function old new delta bb_die_memory_exhausted - 10 +10 xstrdup 28 23 -5 xsetenv 27 22 -5 xrealloc 32 27 -5 xputenv 22 17 -5 xmalloc 30 25 -5 xfdopen_helper 40 35 -5 xasprintf 44 39 -5 wget_main 2387 2382 -5 open_socket 54 49 -5 glob_brace 419 414 -5 bb_get_chunk_from_file 146 141 -5 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/11 up/down: 10/-55) Total: -45 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-01sed: prevent overflow of length from bb_get_chunk_from_fileQuentin Rameau
This fragment did not work right: temp = bb_get_chunk_from_file(fp, &len); if (temp) { /* len > 0 here, it's ok to do temp[len-1] */ char c = temp[len-1]; With "int len" _sign-extending_, temp[len-1] can refer to a wrong location if len > 0x7fffffff. Signed-off-by: Quentin Rameau <quinq@fifth.space> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-01libbb: remove unnecessary variable in xmalloc_fgetsQuentin Rameau
Signed-off-by: Quentin Rameau <quinq@fifth.space> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-05whitespace and comment format fixes, no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-17libbb: split bb_get_chunk_from_file and bb_get_chunk_with_continuationDenys Vlasenko
This also moves bb_get_chunk_with_continuation into its sole user, parse_config.c. This allows to optimize both functions separately, they need to be optimized for speed. (this need was highlighted by slow modprobe caused in part by slow bb_get_chunk_with_continuation in config parser). function old new delta bb_get_chunk_from_file 7 130 +123 config_read 457 558 +101 bb_get_chunk_with_continuation 194 - -194 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 2/0 up/down: 224/-194) Total: 30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-16small fixes atop syslog config patchDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18*: stop defining _GNU_SOURCE in source files, it's in CFLAGS anywayDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2008-08-09optimize config_read() (by Timo Teras <timo.teras AT iki.fi>)Denis Vlasenko
function old new delta bb_get_chunk_with_continuation - 176 +176 find_pair 169 187 +18 ... process_stdin 443 433 -10 config_read 549 456 -93 bb_get_chunk_from_file 139 7 -132 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 7/7 up/down: 215/-254) Total: -39 bytes
2008-08-09grep: option to use GNU regex matching instead of POSIX one.Denis Vlasenko
This fixes problems with NULs in files being scanned, but costs +800 bytes. The same can be done to sed (TODO).
2008-07-15libbb: document plans to speed up line-based inputDenis Vlasenko
2008-07-15libbb: experimental faster string reading routines.Denis Vlasenko
2008-07-08libbb: introduce and use xrealloc_vectorDenis Vlasenko
function old new delta xrealloc_vector_helper - 51 +51 create_list 84 99 +15 getopt_main 690 695 +5 passwd_main 1049 1053 +4 get_cached 85 89 +4 msh_main 1377 1380 +3 add_match 42 41 -1 read_lines 720 718 -2 grave 1068 1066 -2 fill_match_lines 143 141 -2 add_to_dirlist 67 65 -2 add_input_file 49 47 -2 act 252 250 -2 fsck_main 2252 2246 -6 man_main 765 757 -8 bb_internal_initgroups 228 220 -8 cut_main 1052 1041 -11 add_edge_to_node 55 43 -12 dpkg_main 3851 3835 -16 ifupdown_main 2202 2178 -24 sort_main 838 812 -26 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/15 up/down: 82/-124) Total: -42 bytes
2008-06-27*: introduce and use FAST_FUNC: regparm on i386, otherwise no-onDenis Vlasenko
text data bss dec hex filename 808035 611 6868 815514 c719a busybox_old 804472 611 6868 811951 c63af busybox_unstripped
2008-03-26*: more uniform naming: s/xmalloc_getline/xmalloc_fgetline/Denis Vlasenko
2007-12-26Fix xmalloc_fgets_str so that it really does NOT strip terminator.Denis Vlasenko
Add xmalloc_fgetline_str which does strip terminator, and use it in dpkg instead of xmalloc_fgets_str. netstat: use xmalloc_fgets_str - allows to eat strings with NULs (this fixes bug with some weird /proc/net/unix input) function old new delta xmalloc_fgets_internal - 191 +191 xmalloc_fgetline_str - 18 +18 do_info 116 120 +4 unix_do_one 451 447 -4 tcp_do_one 423 419 -4 send_tree 369 365 -4 xmalloc_fgets_str 178 15 -163 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 1/4 up/down: 213/-175) Total: 38 bytes text data bss dec hex filename 778445 832 7344 786621 c00bd busybox_old 778483 832 7344 786659 c00e3 busybox_unstripped
2007-04-12style fixes. No code changesDenis Vlasenko
2007-01-17sed,get_line_from_file: improve commentsDenis Vlasenko
2007-01-11Trailing whitespace removal over entire treeDenis Vlasenko
2006-12-20less: somewhat buggy applet, but nice. Muchly reducedDenis Vlasenko
xstrdup'ing and memory consumption. Made linewrap saner. regex matching code was awful - still buggy, but not as leaky as before. Made buffer size configurable. Killed several static and on-stack buffers. Hopefully eliminated staircase effect on Ctrl-C (unable to reproduce).
2006-12-02sed: improve handling of NULsDenis Vlasenko
2006-11-30passwd: rework:Denis Vlasenko
* do not make backup copy by copying (just retain old file) * correctly fall back to /etc/passwd if user is not in shadow * fix bug with overlong passwd entries * be permissive on some kinds of failures * reduce stack usage * code size: -500 bytes
2006-10-12bb_get_[chomped]line_from_file wasn't descriptive enough.Denis Vlasenko
Renaming...
2006-10-12cut, mount: small improvementsDenis Vlasenko
2006-10-01sed: unbreak multiple -e, -f option handling (my fault)Denis Vlasenko
2006-06-10- fix bug #887, in bb_get_chomped_line_from_file(), the last char was removedBernhard Reutner-Fischer
unconditionally, even if it was not a newline. This was apparently broken by r14254 - whitespace while at it.
2006-03-06Robert P. Day removed 8 gazillion occurrences of "extern" on functionRob Landley
definitions. (That should only be on prototypes.)
2006-02-24A few changes falling out from the effort to make sed handle embedded NUL bytes.Rob Landley
Checking in to reduce the diff between my tree and svn...
2005-01-24Sort rewrite to be SUSv3 compliant. New config option, updated help, andRob Landley
a couple of infrastructure bits.
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2003-09-16Configuration option to define wether to follows GNU sed's behaviour Glenn L McGrath
or the posix standard. Put the cleanup code back the way it was.
2003-07-14Update a bunch of docs. Run a script to update my email addr.Eric Andersen
2003-03-19Major coreutils update.Manuel Novoa III
2001-11-20Treat NUL as the end-of-line.Matt Kraai
2001-10-24Major rework of the directory structure and the entire build system.Eric Andersen
-Erik
2001-03-16Convert utility.c into libbb.a. It is now a whole pile of .cEric Andersen
files. Clean up the resulting damage and fix up the makefile. -Erik