Ron Yorston 
							
						 
					 
					
						
						
							
						
						bcf91d2760 
					 
					
						
						
							
							libbb: code shrink and speed up index_in_strings()  
						
						... 
						
						
						
						Rewrite index_in_strings() to replace calls to strcmp()/strlen().
With this change searching for valid names in the applet_names
array (for example) is 40% faster.
The code has to assume the strings aren't sorted, so will always scan
the entire array when presented with an invalid name.
function                                             old     new   delta
index_in_strings                                      63      56      -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-7)               Total: -7 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2021-02-02 14:37:37 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Lewis 
							
						 
					 
					
						
						
							
						
						c9fc15359e 
					 
					
						
						
							
							compare_string_array: code shrink  
						
						... 
						
						
						
						Code shrink and prevention of possible out of bounds access.
function                                             old     new   delta
nth_string                                            36      26     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-10)             Total: -10 bytes
   text	   data	    bss	    dec	    hex	filename
 981342	  16915	   1872	1000129	  f42c1	busybox_old
 981332	  16915	   1872	1000119	  f42b7	busybox_unstripped
Signed-off-by: Martin Lewis <martin.lewis.x84@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2020-06-29 16:09:46 +02:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						ebe6d9d875 
					 
					
						
						
							
							whitespace and comment format fixes, no code changes  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2017-10-05 14:40:24 +02:00 
						 
				 
			
				
					
						
							
							
								Tito Ragusa 
							
						 
					 
					
						
						
							
						
						f085344d5c 
					 
					
						
						
							
							libbb: another unit test for is_suffixed_with  
						
						... 
						
						
						
						Suggested by Bartosz Golaszewski.
Signed-off-by: Tito Ragusa <farmatito@tiscali.it >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2015-09-15 23:38:01 +02:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						68acc0f835 
					 
					
						
						
							
							libbb: make is_suffixed_with() return pointer inside string, not key.  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2015-08-25 21:47:33 +02:00 
						 
				 
			
				
					
						
							
							
								Bartosz Golaszewski 
							
						 
					 
					
						
						
							
						
						7448b513c8 
					 
					
						
						
							
							libbb: add is_suffixed_with() function  
						
						... 
						
						
						
						Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2015-08-25 16:36:43 +02:00 
						 
				 
			
				
					
						
							
							
								Bartosz Golaszewski 
							
						 
					 
					
						
						
							
						
						0a4d0e8fbf 
					 
					
						
						
							
							libbb: add a comment describing the way is_prefixed_with() works  
						
						... 
						
						
						
						Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2015-08-25 15:04:16 +02:00 
						 
				 
			
				
					
						
							
							
								Bartosz Golaszewski 
							
						 
					 
					
						
						
							
						
						b432923e29 
					 
					
						
						
							
							libbb: add unit tests for is_prefixed_with()  
						
						... 
						
						
						
						Test corner cases too like looking for an empty prefix etc.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2015-08-25 15:00:24 +02:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						8dff01d06a 
					 
					
						
						
							
							libbb: introduce and use is_prefixed_with()  
						
						... 
						
						
						
						function                                             old     new   delta
is_prefixed_with                                       -      18     +18
complete_username                                     78      77      -1
man_main                                             737     735      -2
fsck_device                                          429     427      -2
unpack_ar_archive                                     80      76      -4
strip_unsafe_prefix                                  105     101      -4
singlemount                                         1054    1050      -4
rtc_adjtime_is_utc                                    90      86      -4
resolve_mount_spec                                    88      84      -4
parse_one_line                                      1029    1025      -4
parse_conf                                          1460    1456      -4
may_wakeup                                            83      79      -4
loadkmap_main                                        219     215      -4
get_irqs_from_stat                                   103      99      -4
get_header_cpio                                      913     909      -4
findfs_main                                           79      75      -4
fbsplash_main                                       1230    1226      -4
load_crontab                                         776     771      -5
expand_vars_to_list                                 1151    1146      -5
date_main                                            881     876      -5
skip_dev_pfx                                          30      24      -6
make_device                                         2199    2193      -6
complete_cmd_dir_file                                773     767      -6
run_applet_and_exit                                  715     708      -7
uudecode_main                                        321     313      -8
pwdx_main                                            197     189      -8
execute                                              568     560      -8
i2cdetect_main                                      1186    1176     -10
procps_scan                                         1242    1230     -12
procps_read_smaps                                   1017    1005     -12
process_module                                       746     734     -12
patch_main                                          1903    1891     -12
nfsmount                                            3572    3560     -12
stack_machine                                        126     112     -14
process_timer_stats                                  449     435     -14
match_fstype                                         111      97     -14
do_ipaddr                                           1344    1330     -14
open_list_and_close                                  359     343     -16
get_header_tar                                      1795    1779     -16
prepend_new_eth_table                                340     323     -17
fsck_main                                           1811    1794     -17
find_iface_state                                      56      38     -18
dnsd_main                                           1321    1303     -18
base_device                                          179     158     -21
find_keyword                                         104      82     -22
handle_incoming_and_exit                            2785    2762     -23
parse_and_put_prompt                                 774     746     -28
modinfo                                              347     317     -30
find_action                                          204     171     -33
update_passwd                                       1470    1436     -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/49 up/down: 18/-540)         Total: -522 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2015-03-12 17:48:34 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						0ef64bdb40 
					 
					
						
						
							
							*: make GNU licensing statement forms more regular  
						
						... 
						
						
						
						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-08-16 20:14:46 +02:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						8a659f6ff9 
					 
					
						
						
							
							libbb: make index_in_substrings return -1 on ambiguous matches  
						
						... 
						
						
						
						function                                             old     new   delta
index_in_substrings                                   67      93     +26
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2010-04-03 00:52:16 +02:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						defc1ea340 
					 
					
						
						
							
							*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on  
						
						... 
						
						
						
						text    data     bss     dec     hex filename
 808035     611    6868  815514   c719a busybox_old
 804472     611    6868  811951   c63af busybox_unstripped 
						
						
					 
					
						2008-06-27 02:52:20 +00:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						d12fcc20da 
					 
					
						
						
							
							libiproute: fix option parsing, so that "ip -o link" works again.  
						
						... 
						
						
						
						closes bug 3524 
						
						
					 
					
						2008-05-31 07:34:14 +00:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						6b404431aa 
					 
					
						
						
							
							ps: fix build breakage from vda's recent commit  
						
						... 
						
						
						
						*: whitespace fixes 
						
						
					 
					
						2008-01-07 16:13:14 +00:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						bfc3d82256 
					 
					
						
						
							
							ifconfig: code shrink  
						
						... 
						
						
						
						adjtimex: code shrink
libbb: move nth_string function into libbb
hdparm: nth_string was here
   text    data     bss     dec     hex filename
 730013   10334   12032  752379   b7afb busybox_old
 730093   10134   12032  752259   b7a83 busybox_unstripped 
						
						
					 
					
						2007-11-04 04:10:17 +00:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						6ca409e0e4 
					 
					
						
						
							
							trylink: produce even more info about final link stage  
						
						... 
						
						
						
						trylink: explain how to modify link and drastically decrease amount
  of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k 
						
						
					 
					
						2007-08-12 20:58:27 +00:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						990d0f63ee 
					 
					
						
						
							
							Replace index_in_[sub]str_array with index_in_[sub]strings,  
						
						... 
						
						
						
						which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes.
   text    data     bss     dec     hex filename
 781266    1328   11844  794438   c1f46 busybox_old
 781010    1328   11844  794182   c1e46 busybox_unstripped 
						
						
					 
					
						2007-07-24 15:54:42 +00:00 
						 
				 
			
				
					
						
							
							
								Bernhard Reutner-Fischer 
							
						 
					 
					
						
						
							
						
						eceecea568 
					 
					
						
						
							
							- fix bug where we did not reject invalid classes like '[[:alpha'  
						
						... 
						
						
						
						- debloat while at it:
   text    data     bss     dec     hex filename
   1554       0      19    1573     625 tr.o.oorig
   1357       0      16    1373     55d tr.o 
						
						
					 
					
						2007-03-30 14:43:27 +00:00 
						 
				 
			
				
					
						
							
							
								Denis Vlasenko 
							
						 
					 
					
						
						
							
						
						5af906e7c8 
					 
					
						
						
							
							rename: compare_string_array -> index_in_str_array  
						
						... 
						
						
						
						introduce index_in_substr_array and use it in
iproute2 
						
						
					 
					
						2006-11-05 18:05:09 +00:00 
						 
				 
			
				
					
						
							
							
								"Robert P. J. Day" 
							
						 
					 
					
						
						
							
						
						63fc1a9e08 
					 
					
						
						
							
							Standardize on the vi editing directives being on the first line.  
						
						
						
						
					 
					
						2006-07-02 19:47:05 +00:00 
						 
				 
			
				
					
						
							
							
								Bernhard Reutner-Fischer 
							
						 
					 
					
						
						
							
						
						421d9e5941 
					 
					
						
						
							
							- move buffer allocation schemes to libbb.h  
						
						... 
						
						
						
						- include the correct headers: applets need busybox.h while lib* need libbb.h 
						
						
					 
					
						2006-04-03 16:39:31 +00:00 
						 
				 
			
				
					
						
							
							
								Rob Landley 
							
						 
					 
					
						
						
							
						
						ca087713f2 
					 
					
						
						
							
							More extern removal from Robert P. Day.  
						
						
						
						
					 
					
						2006-03-29 16:52:56 +00:00 
						 
				 
			
				
					
						
							
							
								Tim Riker 
							
						 
					 
					
						
						
							
						
						c1ef7bdd8d 
					 
					
						
						
							
							just whitespace  
						
						
						
						
					 
					
						2006-01-25 00:08:53 +00:00 
						 
				 
			
				
					
						
							
							
								"Vladimir N. Oleynik" 
							
						 
					 
					
						
						
							
						
						cc34344d91 
					 
					
						
						
							
							change the interface of libbb/compare_string_array (unsigned short to int), usaging for e2fsprogs/fsck  
						
						
						
						
					 
					
						2005-11-26 10:45:26 +00:00 
						 
				 
			
				
					
						
							
							
								"Vladimir N. Oleynik" 
							
						 
					 
					
						
						
							
						
						61ff4b3973 
					 
					
						
						
							
							more use const for interface of libbb/compare_string_array, example usage for e2fsprogs/fsck  
						
						
						
						
					 
					
						2005-11-26 10:33:55 +00:00 
						 
				 
			
				
					
						
							
							
								Manuel Novoa III  
							
						 
					 
					
						
						
							
						
						cad5364599 
					 
					
						
						
							
							Major coreutils update.  
						
						
						
						
					 
					
						2003-03-19 09:13:01 +00:00 
						 
				 
			
				
					
						
							
							
								Glenn L McGrath 
							
						 
					 
					
						
						
							
						
						b963875a3e 
					 
					
						
						
							
							Move compare_string_array to libbb  
						
						
						
						
					 
					
						2002-12-02 00:01:36 +00:00