Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						6543758b13 
					 
					
						
						
							
							bc: code shrink  
						
						... 
						
						
						
						function                                             old     new   delta
bc_parse_operator                                    181     184      +3
bc_parse_ops                                          50      25     -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 3/-25)             Total: -22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 19:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						f381a88234 
					 
					
						
						
							
							bc: make division operation interruptible  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_d                                             564     584     +20
bc_num_r                                             230     245     +15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0)               Total: 35 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 19:21:34 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						b3cb90124b 
					 
					
						
						
							
							bc: use unsigned division by 10 instead of signed  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_k                                             990     988      -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 19:05:32 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						06fa65bd95 
					 
					
						
						
							
							bc: move ^C check fro power calculation to multiplication  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_k                                             971     990     +19
bc_num_p                                             507     478     -29
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 19/-29)            Total: -10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 19:00:58 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						b692c2faf1 
					 
					
						
						
							
							bc: bc_num_k(): move carry,i,j,len to inner scope  
						
						... 
						
						
						
						This might help compiler
function                                             old     new   delta
bc_num_k                                             957     971     +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 18:56:14 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						0d7e46b1de 
					 
					
						
						
							
							bc: tweak error messages  
						
						... 
						
						
						
						function                                             old     new   delta
bc_lex_token                                        1285    1299     +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 18:31:19 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						0064679915 
					 
					
						
						
							
							bc: fix inverted POSIXness test, improve messages, commonalize message strings  
						
						... 
						
						
						
						function                                             old     new   delta
bc_lex_token                                        1251    1285     +34
bc_POSIX_does_not_allow_bool_ops_this_is_bad           -      25     +25
bc_POSIX_does_not_allow_empty_X_expression_in_for      -      20     +20
bc_POSIX_does_not_allow                                -      20     +20
bc_parse_expr                                       2146    2151      +5
bc_num_ulong                                         103      92     -11
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 2/1 up/down: 104/-11)            Total: 93 bytes
   text	   data	    bss	    dec	    hex	filename
 987210	    485	   7296	 994991	  f2eaf	busybox_old
 987084	    485	   7296	 994865	  f2e31	busybox_unstripped
^^^^^^^
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 18:12:27 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						5318f81fbe 
					 
					
						
						
							
							bc: print error line numbers  
						
						... 
						
						
						
						FILE:
	print 1
	print "
$ busybox bc -q FILE
bc: FILE:2: string end could not be found
ready for more input
>>> _
function                                             old     new   delta
bc_verror_msg                                          -      99     +99
bc_lex_file                                           12      28     +16
bc_lex_next                                           77      92     +15
dc_lex_token                                         687     701     +14
bc_lex_token                                        1237    1251     +14
bc_posix_error_fmt                                    90      58     -32
bc_error_fmt                                          70      36     -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/2 up/down: 158/-66)            Total: 92 bytes
   text	   data	    bss	    dec	    hex	filename
 987108	    485	   7296	 994889	  f2e49	busybox_old
 987210	    485	   7296	 994991	  f2eaf	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 17:48:01 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						08c033c406 
					 
					
						
						
							
							bc: optimize pushing zero bytes to vectors  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vec_pushZeroByte                                    -      10     +10
bc_vm_run                                           1919    1917      -2
bc_vec_string                                         61      59      -2
bc_vec_concat                                         68      66      -2
bc_parse_create                                      170     168      -2
bc_lex_number                                        298     296      -2
dc_lex_token                                         691     687      -4
bc_read_line                                         314     303     -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/7 up/down: 10/-25)            Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 16:55:08 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						0409ad36a1 
					 
					
						
						
							
							bc: restore printing of script name on errors  
						
						... 
						
						
						
						Examples:
On stdin, no file name is available:
	$ echo 'print "' | busybox bc
	bc: string end could not be found
When the same error is in file:
	$ busybox bc FILE
	bc 1.30.0.git
	Copyright (c) 2018 Gavin D. Howard and contributors
	Report bugs at: https://github.com/gavinhoward/bc 
	This is free software with ABSOLUTELY NO WARRANTY
	FILE: string end could not be found
	ready for more input
	>>>
Line number printing to be added later...
function                                             old     new   delta
bc_error_fmt                                          38      70     +32
bc_posix_error_fmt                                    60      90     +30
bc_vm_run                                           1900    1919     +19
bc_program_read                                      338     355     +17
bc_lex_file                                           15      12      -3
bc_program_stdin_name                                  8       -      -8
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/1 up/down: 98/-11)             Total: 87 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 16:39:22 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						0ad36c46c7 
					 
					
						
						
							
							bc: do not check for errors when parsing/running internal library  
						
						... 
						
						
						
						function                                             old     new   delta
bc_lib_name                                            4       -      -4
bc_vm_run                                           1921    1900     -21
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-25)             Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 16:21:43 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						24fb2cd62f 
					 
					
						
						
							
							bc: shrink error handling code by enabling tail-call optimization  
						
						... 
						
						
						
						function                                             old     new   delta
bc_posix_error_fmt                                     -      60     +60
bc_error_fmt                                           -      38     +38
bc_error_bad_character                                 -      17     +17
bc_parse_auto                                        302     313     +11
bc_num_ulong                                          93     103     +10
bc_error_variable_is_wrong_type                        -      10     +10
bc_error_stack_has_too_few_elements                    -      10     +10
bc_error_nested_read_call                              -      10     +10
bc_error_bad_token                                     -      10     +10
bc_error_bad_expression                                -      10     +10
bc_num_d                                             561     564      +3
bc_program_assign                                    484     486      +2
dc_parse_parse                                        60      59      -1
bc_program_num                                      1130    1129      -1
bc_program_call                                      367     366      -1
bc_parse_stmt                                       2277    2276      -1
bc_lex_number                                        299     298      -1
bc_lex_name                                           91      90      -1
bc_func_insert                                        98      97      -1
bc_num_shift                                          74      72      -2
bc_vm_run                                           1924    1921      -3
bc_parse_endBody                                     424     420      -4
bc_lex_next                                           81      77      -4
bc_program_read                                      343     338      -5
bc_program_asciify                                   469     464      -5
bc_program_pushVar                                   221     215      -6
bc_program_print                                     784     778      -6
bc_program_prep                                       99      93      -6
bc_program_assignStr                                 167     161      -6
bc_parse_else                                        143     137      -6
bc_parse_body                                        124     118      -6
dc_parse_register                                     61      53      -8
dc_lex_token                                         699     691      -8
bc_program_modexp                                    756     746     -10
bc_parse_name                                        593     581     -12
dc_parse_expr                                        775     762     -13
bc_program_copyToVar                                 336     323     -13
bc_program_binOpPrep                                 324     311     -13
bc_program_execStr                                   561     543     -18
bc_program_exec                                     4150    4132     -18
bc_parse_parse                                       483     464     -19
bc_error                                              38      14     -24
bc_lex_token                                        1266    1237     -29
bc_posix_error                                        60      14     -46
bc_parse_expr                                       2194    2146     -48
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 4/33 up/down: 191/-345)        Total: -154 bytes
   text	   data	    bss	    dec	    hex	filename
 987226	    485	   7296	 995007	  f2ebf	busybox_old
 987072	    485	   7296	 994853	  f2e25	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 16:03:46 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						f359e004b0 
					 
					
						
						
							
							bc: make 2^1000000 interruptible faster  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						68cc0a676e 
					 
					
						
						
							
							bc: remove tabs from internal library  
						
						... 
						
						
						
						function                                             old     new   delta
bc_lib                                              1877    1674    -203
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						51fb8aa5c1 
					 
					
						
						
							
							bc: store library in ASCII, shrink keyword parsing code  
						
						... 
						
						
						
						Also, use ARRAY_SIZE() where appropriate
function                                             old     new   delta
bc_lib                                              1878    1877      -1
bc_program_index                                      66      64      -2
bc_lex_token                                        1282    1266     -16
bc_lex_kws                                           220     160     -60
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-79)             Total: -79 bytes
   text	   data	    bss	    dec	    hex	filename
 987518	    485	   7296	 995299	  f2fe3	busybox_old
 987440	    485	   7296	 995221	  f2f95	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						cb9a99f3bb 
					 
					
						
						
							
							bc: drop bc_map_init() macro  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						7d62801db9 
					 
					
						
						
							
							bc: create a few common functions  
						
						... 
						
						
						
						function                                             old     new   delta
bc_char_vec_init                                       -      12     +12
bc_vec_pop_all                                         -       8      +8
bc_program_index                                      64      66      +2
bc_vec_string                                         64      61      -3
bc_vec_free                                           27      24      -3
bc_read_line                                         317     314      -3
bc_program_execStr                                   564     561      -3
bc_program_exec                                     4153    4150      -3
bc_program_copyToVar                                 340     336      -4
bc_parse_create                                      175     170      -5
dc_lex_token                                         705     699      -6
bc_program_reset                                      78      72      -6
bc_lex_number                                        305     299      -6
bc_program_read                                      353     343     -10
bc_program_addFunc                                   225     209     -16
bc_vm_run                                           1942    1924     -18
bc_parse_reset                                       181     163     -18
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/14 up/down: 22/-104)          Total: -82 bytes
   text	   data	    bss	    dec	    hex	filename
 987600	    485	   7296	 995381	  f3035	busybox_old
 987518	    485	   7296	 995299	  f2fe3	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d5f7703abb 
					 
					
						
						
							
							bc: rewrite "BOOL * EXPR" idiom as if() statement  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_index                                      66      64      -2
bc_program_num                                      1147    1130     -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-19)             Total: -19 bytes
   text	   data	    bss	    dec	    hex	filename
 987619	    485	   7296	 995400	  f3048	busybox_old
 987600	    485	   7296	 995381	  f3035	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						17c5472c5a 
					 
					
						
						
							
							bc: switch to SA_RESTART signal handling  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d70d4a0235 
					 
					
						
						
							
							bc: get rid of G.tty and G.flags  
						
						... 
						
						
						
						G.flags == option_mask32
function                                             old     new   delta
bc_args                                               97     120     +23
dc_main                                               48      49      +1
bc_main                                               48      49      +1
bc_error                                              42      38      -4
bc_posix_error                                        65      60      -5
bc_read_line                                         325     317      -8
dc_lex_token                                         714     705      -9
bc_vm_run                                           2039    1942     -97
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/5 up/down: 25/-123)           Total: -98 bytes
   text	   data	    bss	    dec	    hex	filename
 987717	    485	   7296	 995498	  f30aa	busybox_old
 987619	    485	   7296	 995400	  f3048	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						9b70f197b4 
					 
					
						
						
							
							bc: convert all status codes, remove bc_err_msgs[], bc_vm_error(), bc_vm_posixError()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_posix_error                                         -      65     +65
bc_vm_run                                           1995    2039     +44
bc_err_line                                            7       -      -7
bc_num_ulong                                         103      93     -10
bc_parse_parse                                       495     483     -12
bc_err_fmt                                            12       -     -12
bc_warn_fmt                                           14       -     -14
bc_parse_expr                                       2210    2194     -16
bc_program_reset                                     105      78     -27
bc_vm_process                                        130      94     -36
bc_parse_stmt                                       2313    2277     -36
bc_err_msgs                                           60       -     -60
bc_lex_token                                        1367    1282     -85
bc_vm_error                                          143       -    -143
bc_vm_posixError                                     189       -    -189
------------------------------------------------------------------------------
(add/remove: 1/6 grow/shrink: 1/7 up/down: 109/-647)         Total: -538 bytes
   text	   data	    bss	    dec	    hex	filename
 988258	    485	   7296	 996039	  f32c7	busybox_old
 987717	    485	   7296	 995498	  f30aa	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						60cf747b6c 
					 
					
						
						
							
							bc: convert all non-POSIX BC_STATUS_foo codes  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_asciify                                     -     469    +469
bc_parse_parse                                       432     495     +63
dc_parse_expr                                        727     775     +48
bc_vm_run                                           1955    1995     +40
bc_program_num                                      1115    1147     +32
bc_program_binOpPrep                                 296     324     +28
static.msg                                             -      24     +24
bc_parse_name                                        570     593     +23
bc_lex_token                                        1344    1367     +23
dc_lex_token                                         695     714     +19
bc_num_ulong                                          85     103     +18
bc_program_read                                      336     353     +17
dc_parse_parse                                        47      60     +13
bc_parse_stmt                                       2301    2313     +12
bc_parse_auto                                        291     302     +11
bc_program_prep                                       89      99     +10
bc_lex_next                                           71      81     +10
dc_parse_register                                     52      61      +9
bc_program_print                                     775     784      +9
bc_func_insert                                        89      98      +9
bc_program_assignStr                                 159     167      +8
bc_program_assign                                    476     484      +8
bc_parse_body                                        116     124      +8
bc_lex_name                                           83      91      +8
bc_program_pushVar                                   215     221      +6
bc_parse_text                                        141     147      +6
bc_num_shift                                          68      74      +6
bc_num_p                                             472     478      +6
bc_program_execStr                                   559     564      +5
bc_parse_else                                        139     143      +4
bc_lex_number                                        301     305      +4
bc_num_d                                             558     561      +3
bc_parse_endBody                                     422     424      +2
bc_num_r                                             231     230      -1
bc_program_copyToVar                                 343     340      -3
bc_program_call                                      372     367      -5
bc_parse_expr                                       2215    2210      -5
bc_program_modexp                                    763     756      -7
bc_err_msgs                                          164      60    -104
bc_program_pushArray                                 136       -    -136
bc_program_exec                                     4453    4153    -300
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 31/7 up/down: 961/-561)         Total: 400 bytes
   text	   data	    bss	    dec	    hex	filename
 987766	    485	   7296	 995547	  f30db	busybox_old
 988258	    485	   7296	 996039	  f32c7	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d38af48e0a 
					 
					
						
						
							
							bc: convert BC_STATUS_EXEC_SIGNAL - its message string was never used  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vm_process                                        132     130      -2
bc_err_msgs                                          168     164      -4
dc_parse_parse                                        52      47      -5
bc_parse_reset                                       187     181      -6
bc_program_ready_msg                                  22       -     -22
bc_program_exec                                     4478    4453     -25
bc_parse_parse                                       461     432     -29
bc_program_reset                                     159     105     -54
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/7 up/down: 0/-147)           Total: -147 bytes
   text	   data	    bss	    dec	    hex	filename
 987923	    485	   7296	 995704	  f3178	busybox_old
 987766	    485	   7296	 995547	  f30db	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						abbc433d29 
					 
					
						
						
							
							bc: convert BC_STATUS_PARSE_NO_AUTO  
						
						... 
						
						
						
						function                                             old     new   delta
bc_parse_auto                                        275     291     +16
bc_err_msgs                                          172     168      -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 16/-4)              Total: 12 bytes
   text	   data	    bss	    dec	    hex	filename
 987911	    485	   7296	 995692	  f316c	busybox_old
 987923	    485	   7296	 995704	  f3178	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						04a1c763a6 
					 
					
						
						
							
							bc: convert BC_STATUS_EXEC_MISMATCHED_PARAMS and BC_STATUS_EXEC_UNDEFINED_FUNC  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						a02f84472a 
					 
					
						
						
							
							bc: BC_STATUS_VEC_ITEM_EXISTS is not a real error code, its message was never used  
						
						... 
						
						
						
						It was only used to indicate rusult of bc_map_insert() - did we insert, or
did we find that this key is already in the map?
function                                             old     new   delta
bc_map_insert                                        142     145      +3
bc_program_addFunc                                   226     225      -1
bc_err_msgs                                          184     180      -4
bc_program_search                                    152     143      -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 3/-14)             Total: -11 bytes
   text	   data	    bss	    dec	    hex	filename
 987904	    485	   7296	 995685	  f3165	busybox_old
 987873	    485	   7296	 995654	  f3146	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						bc5ce66617 
					 
					
						
						
							
							bc: simplify bc_lex_comment()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_lex_token                                        1369    1344     -25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						c1c2470f84 
					 
					
						
						
							
							bc: handle BIN_FILE and LEX_BAD_CHAR errors at the site of detection  
						
						... 
						
						
						
						The most informative message can be generated at the location
where error is detected. The "error codes" are stupid:
print error meesage immediately, then just return "there was an error"
indicator.
All error codes will be converted. For now, converting these two.
For now, this and following changes will degrade error messages
quality. For example, file name and line number printouts may be lost.
This will be re-added later.
This change anlso fixes handling of invalid stdin input:
this used to cause interactive bc to exit:
....
>>> ς
bc: illegal character 0xcf
bc: illegal character 0x82
>>> _
function                                             old     new   delta
bc_error                                               -      42     +42
bc_lex_token                                        1333    1369     +36
dc_lex_token                                         675     695     +20
bc_read_line                                         311     325     +14
bc_num_a                                             456     454      -2
bc_err_msgs                                          188     184      -4
bc_num_ulong                                          95      85     -10
bc_vm_run                                           1984    1955     -29
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/4 up/down: 112/-45)            Total: 67 bytes
   text	   data	    bss	    dec	    hex	filename
 987828	    485	   7296	 995609	  f3119	busybox_old
 987929	    485	   7296	 995710	  f317e	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d4744adf35 
					 
					
						
						
							
							bc: eliminate BC_STATUS_INPUT_EOF  
						
						... 
						
						
						
						function                                             old     new   delta
fflush_and_check                                       -      36     +36
bc_num_a                                             445     456     +11
bc_num_ulong                                          85      95     +10
bc_vm_run                                           1978    1984      +6
bc_num_s                                             246     252      +6
bc_err_msgs                                          192     188      -4
quit                                                  38      32      -6
bc_vm_process                                        139     132      -7
bc_program_reset                                     172     159     -13
bc_parse_create                                      192     175     -17
bc_read_line                                         349     311     -38
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/6 up/down: 69/-85)            Total: -16 bytes
   text	   data	    bss	    dec	    hex	filename
 987844	    485	   7296	 995625	  f3129	busybox_old
 987828	    485	   7296	 995609	  f3119	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						cfdc1334c3 
					 
					
						
						
							
							bc: handle "limits" and "quit" immediately at parse time  
						
						... 
						
						
						
						No need to propagate a special exit code.
function                                             old     new   delta
bc_parse_stmt                                       2197    2301    +104
quit                                                   -      38     +38
bc_read_line                                         344     349      +5
bc_program_reset                                     174     172      -2
bc_num_s                                             252     246      -6
bc_num_a                                             454     445      -9
bc_parse_parse                                       471     461     -10
bc_num_ulong                                          95      85     -10
bc_program_exec                                     4500    4478     -22
bc_vm_run                                           2006    1978     -28
bc_vm_process                                        291     139    -152
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/8 up/down: 147/-239)          Total: -92 bytes
   text	   data	    bss	    dec	    hex	filename
 987936	    485	   7296	 995717	  f3185	busybox_old
 987844	    485	   7296	 995625	  f3129	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						01cabafd05 
					 
					
						
						
							
							bc": drop unused error codes and strings  
						
						... 
						
						
						
						function                                             old     new   delta
bc_err_msgs                                          216     192     -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-24)             Total: -24 bytes
   text	   data	    bss	    dec	    hex	filename
 988122	    485	   7296	 995903	  f323f	busybox_old
 987936	    485	   7296	 995717	  f3185	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						b8860a8892 
					 
					
						
						
							
							bc: remove "error ids": serve no useful purpose, error message should be explanatory enough  
						
						... 
						
						
						
						function                                             old     new   delta
bc_warn_fmt                                           17      14      -3
bc_err_fmt                                            15      12      -3
bc_vm_posixError                                     205     189     -16
bc_vm_error                                          156     138     -18
bc_errs                                               28       -     -28
bc_err_ids                                            58       -     -58
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/4 up/down: 0/-126)           Total: -126 bytes
   text	   data	    bss	    dec	    hex	filename
 988288	    485	   7296	 996069	  f32e5	busybox_old
 988122	    485	   7296	 995903	  f323f	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						1f67e935ac 
					 
					
						
						
							
							bc: reduce forward declarations  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						d9d66556d7 
					 
					
						
						
							
							bc: use smaller datatypes for limits, match GNU bc 'limits' output  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vm_process                                        315     291     -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-24)             Total: -24 bytes
   text	   data	    bss	    dec	    hex	filename
 988303	    485	   7296	 996084	  f32f4	busybox_old
 988273	    485	   7296	 996054	  f32d6	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						416ce76bcd 
					 
					
						
						
							
							bc: better handle optional args of bc_program_pushVar()  
						
						... 
						
						
						
						Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						9721f6c8b0 
					 
					
						
						
							
							bc: tweak help text  
						
						... 
						
						
						
						-v is supported but not shown
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						a0c421c118 
					 
					
						
						
							
							bc: simplify bc_vm_stdin()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vm_run                                           2020    2006     -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						71e1fc6b37 
					 
					
						
						
							
							bc: only check for ^C in bc_program_exec() main loop  
						
						... 
						
						
						
						Checking it in individual operations such as SQRT is not necessary
since they usually do not take very long to complete. We repeatedly return
to main loop.
TODO: re-add more fine-grained ^C checks - but only with examples where it is
actually needed. E.g. I suspect simplest ops like addition or compare won't need it.
function                                             old     new   delta
bc_program_index                                      66      64      -2
bc_num_s                                             258     246     -12
bc_num_cmp                                           294     275     -19
bc_num_compare                                        84      59     -25
bc_num_subArrays                                      74      47     -27
bc_num_a                                             474     445     -29
bc_program_exec                                     4530    4500     -30
bc_num_p                                             518     472     -46
bc_num_d                                             604     558     -46
bc_num_k                                            1005     957     -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/10 up/down: 0/-284)          Total: -284 bytes
   text	   data	    bss	    dec	    hex	filename
 988601	    485	   7296	 996382	  f341e	busybox_old
 988317	    485	   7296	 996098	  f3302	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						df51539ed0 
					 
					
						
						
							
							bc: simpler calling convention for bc_read_file(), bc_program_search()  
						
						... 
						
						
						
						function                                             old     new   delta
bc_vm_run                                           1854    2020    +166
bc_program_assign                                    482     476      -6
bc_program_pushVar                                   225     215     -10
bc_program_call                                      366     356     -10
bc_program_num                                      1126    1115     -11
bc_program_copyToVar                                 354     343     -11
bc_program_search                                    164     152     -12
bc_program_execStr                                   573     559     -14
bc_program_exec                                     4544    4530     -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 166/-88)            Total: 78 bytes
   text	   data	    bss	    dec	    hex	filename
 988523	    485	   7296	 996304	  f33d0	busybox_old
 988601	    485	   7296	 996382	  f341e	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						e3b4f23cf3 
					 
					
						
						
							
							bc: bc_num_ulong2num(), bc_program_pushGlobal(), bc_program_stackLen() never fail  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_ulong2num                                      66      62      -4
bc_num_printNum                                      572     563      -9
bc_program_exec                                     4562    4544     -18
bc_program_num                                      1147    1126     -21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-52)             Total: -52 bytes
   text	   data	    bss	    dec	    hex	filename
 988575	    485	   7296	 996356	  f3404	busybox_old
 988523	    485	   7296	 996304	  f33d0	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						a1d3ca2455 
					 
					
						
						
							
							bc: stop passing around pointers to G.prog, they are all constant  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_exec                                     4523    4562     +39
bc_program_assign                                    450     482     +32
bc_program_assignStr                                 131     159     +28
bc_program_print                                     762     775     +13
bc_program_num                                      1134    1147     +13
bc_program_search                                    154     164     +10
bc_num_ulong                                          85      95     +10
dc_parse_expr                                        719     727      +8
bc_program_retire                                     34      40      +6
bc_program_reset                                     168     174      +6
bc_program_binOpRetire                                50      56      +6
bc_program_addFunc                                   220     226      +6
bc_program_prep                                       88      89      +1
dc_parse_init                                         18      17      -1
bc_program_copyToVar                                 355     354      -1
bc_parse_text                                        142     141      -1
bc_parse_number                                       88      87      -1
bc_parse_init                                         18      17      -1
bc_parse_endBody                                     423     422      -1
common_parse_init                                     29      26      -3
bc_parse_string                                      103     100      -3
bc_parse_addFunc                                      44      41      -3
bc_program_call                                      371     366      -5
bc_program_binOpPrep                                 301     296      -5
bc_program_read                                      342     336      -6
bc_parse_create                                      198     192      -6
bc_program_pushArray                                 143     136      -7
bc_parse_reset                                       194     187      -7
bc_vm_process                                        323     315      -8
bc_program_pushVar                                   236     225     -11
bc_vm_run                                           1872    1854     -18
bc_parse_name                                        590     570     -20
bc_program_execStr                                   594     573     -21
bc_program_modexp                                    793     763     -30
bc_program_printStream                               172       -    -172
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 13/21 up/down: 178/-331)       Total: -153 bytes
   text	   data	    bss	    dec	    hex	filename
 988728	    485	   7296	 996509	  f349d	busybox_old
 988575	    485	   7296	 996356	  f3404	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						f6c1da5ff3 
					 
					
						
						
							
							bc: select parse_init() and parse_expr() using IS_BC, not function pointers  
						
						... 
						
						
						
						function                                             old     new   delta
common_parse_expr                                      -      62     +62
common_parse_init                                      -      29     +29
dc_parse_parse                                        53      52      -1
dc_parse_expr                                        723     719      -4
bc_program_execStr                                   606     594     -12
dc_parse_init                                         33      18     -15
bc_parse_init                                         33      18     -15
bc_parse_expression                                   39       -     -39
bc_vm_run                                           1923    1872     -51
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 0/6 up/down: 91/-137)           Total: -46 bytes
   text	   data	    bss	    dec	    hex	filename
 988774	    485	   7296	 996555	  f34cb	busybox_old
 988728	    485	   7296	 996509	  f349d	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						785e4b3057 
					 
					
						
						
							
							bc: propagate fixed arguments into callees  
						
						... 
						
						
						
						Looks like there is only one "BcProgram" object, &G.prog.
function                                             old     new   delta
bc_program_exec                                     4401    4523    +122
bc_program_execStr                                   579     606     +27
bc_program_read                                      323     342     +19
bc_args                                               83      97     +14
bc_vm_process                                        327     323      -4
bc_num_ulong                                          95      85     -10
dc_main                                               62      48     -14
bc_main                                               62      48     -14
bc_vm_run                                           2317    1923    -394
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/5 up/down: 182/-436)         Total: -254 bytes
   text	   data	    bss	    dec	    hex	filename
 989028	    485	   7296	 996809	  f35c9	busybox_old
 988774	    485	   7296	 996555	  f34cb	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						ab3c568fd8 
					 
					
						
						
							
							bc: simplify ^C handling  
						
						... 
						
						
						
						It's still buggy: if SIGINT would interrupt e.g. output write(),
the result would not be as intended:
>>> while ( 1 ) print 1
...
11111111111111111111111111111111111111111111111111111111111111111111\
11111111111111111111111111111111111111111111111111111111111111111111\
^Cready for more input
interrupt (type "quit" to exit)
>>> bc: output error
function                                             old     new   delta
dc_parse_parse                                        58      53      -5
bc_parse_parse                                       476     471      -5
bc_num_d                                             609     604      -5
bc_num_cmp                                           299     294      -5
bc_num_compare                                        90      84      -6
bc_parse_expr                                       2222    2215      -7
bc_num_subArrays                                      82      74      -8
dc_main                                               72      62     -10
bc_main                                               72      62     -10
bc_program_exec                                     4413    4401     -12
bc_num_a                                             491     474     -17
bc_read_line                                         364     344     -20
bc_num_p                                             540     518     -22
bc_program_reset                                     192     168     -24
bc_num_k                                            1031    1005     -26
bc_vm_run                                           2382    2317     -65
bc_vm_sig                                             97       -     -97
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/16 up/down: 0/-344)          Total: -344 bytes
   text	   data	    bss	    dec	    hex	filename
 989372	    485	   7296	 997153	  f3721	busybox_old
 989028	    485	   7296	 996809	  f35c9	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						6d9146ab56 
					 
					
						
						
							
							bc: convert to "G trick" - this returns bc to zero bss increase  
						
						... 
						
						
						
						function                                             old     new   delta
bc_num_p                                             518     540     +22
bc_num_k                                            1010    1031     +21
bc_vm_process                                        312     327     +15
bc_program_exec                                     4401    4413     +12
bc_vm_posixError                                     194     205     +11
bc_num_a                                             480     491     +11
bc_program_reset                                     182     192     +10
bc_vm_sig                                             88      97      +9
bc_vm_error                                          148     156      +8
bc_parse_expr                                       2215    2222      +7
bc_num_compare                                        84      90      +6
dc_parse_parse                                        53      58      +5
dc_lex_token                                         670     675      +5
bc_read_line                                         359     364      +5
bc_parse_parse                                       471     476      +5
bc_num_cmp                                           294     299      +5
bc_num_subArrays                                      84      82      -2
bc_num_d                                             614     609      -5
dc_main                                               80      72      -8
bc_main                                               80      72      -8
bcg                                                   40       -     -40
bc_vm_run                                           2569    2382    -187
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 16/5 up/down: 157/-250)         Total: -93 bytes
   text	   data	    bss	    dec	    hex	filename
 989425	    485	   7336	 997246	  f377e	busybox_old
 989372	    485	   7296	 997153	  f3721	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						5a9fef5b59 
					 
					
						
						
							
							bc: simplify, and restore ^C, fix ^D handling  
						
						... 
						
						
						
						^D used to enter infinite loop
function                                             old     new   delta
bc_read_line                                         342     359     +17
bc_args_opt                                            8       -      -8
dc_sig_msg                                            31       -     -31
bc_sig_msg                                            34       -     -34
bc_vm_run                                           2608    2569     -39
bc_args                                              123      83     -40
bc_args_lopt                                          81       -     -81
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 1/2 up/down: 17/-233)          Total: -216 bytes
   text	   data	    bss	    dec	    hex	filename
 989491	    485	   7336	 997312	  f37c0	busybox_old
 989425	    485	   7336	 997246	  f377e	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:43:35 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						00d7779a35 
					 
					
						
						
							
							bc: simplify, stop testing for IO errors on every output  
						
						... 
						
						
						
						function                                             old     new   delta
bc_read_line                                         297     342     +45
bc_vm_run                                           2601    2608      +7
bc_program_reset                                     178     182      +4
bc_args                                              125     123      -2
dc_name                                                3       -      -3
bc_name                                                3       -      -3
bc_program_printStream                               176     172      -4
bcg                                                   48      40      -8
dc_main                                               97      80     -17
bc_main                                               97      80     -17
bc_vm_fflush                                          21       -     -21
bc_vm_puts                                            23       -     -23
bc_vm_printf                                          36       -     -36
bc_vm_putchar                                         46       -     -46
bc_vm_exit                                            46       -     -46
bc_vm_process                                        361     312     -49
bc_vm_info                                            76      19     -57
bc_copyright                                         155       -    -155
------------------------------------------------------------------------------
(add/remove: 0/8 grow/shrink: 3/7 up/down: 56/-487)          Total: -431 bytes
   text	   data	    bss	    dec	    hex	filename
 989722	    485	   7344	 997551	  f38af	busybox_old
 989491	    485	   7336	 997312	  f37c0	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:42:52 +01:00 
						 
				 
			
				
					
						
							
							
								Denys Vlasenko 
							
						 
					 
					
						
						
							
						
						ef869ec728 
					 
					
						
						
							
							bc: fix warnings, initial cleanups  
						
						... 
						
						
						
						function                                             old     new   delta
bc_program_exec                                        -    4401   +4401
bc_vm_run                                              -    2601   +2601
bc_parse_expr                                          -    2215   +2215
bc_parse_stmt                                          -    2197   +2197
bc_lib                                                 -    1878   +1878
bc_lex_token                                           -    1333   +1333
bc_program_num                                         -    1134   +1134
bc_num_k                                               -    1010   +1010
bc_program_modexp                                      -     793    +793
bc_program_print                                       -     762    +762
dc_parse_expr                                          -     723    +723
dc_lex_token                                           -     670    +670
bc_num_d                                               -     614    +614
bc_parse_name                                          -     590    +590
bc_program_execStr                                     -     579    +579
bc_num_printNum                                        -     572    +572
bc_num_p                                               -     518    +518
bc_num_a                                               -     480    +480
bc_parse_parse                                         -     471    +471
bc_program_assign                                      -     450    +450
bc_parse_endBody                                       -     423    +423
bc_program_call                                        -     371    +371
dc_lex_tokens                                          -     364    +364
bc_vm_process                                          -     361    +361
bc_program_copyToVar                                   -     355    +355
dc_parse_insts                                         -     332    +332
bc_program_read                                        -     323    +323
bc_program_binOpPrep                                   -     301    +301
bc_lex_number                                          -     301    +301
bc_read_line                                           -     297    +297
bc_num_cmp                                             -     294    +294
bc_num_m                                               -     287    +287
bc_parse_auto                                          -     275    +275
bc_num_s                                               -     258    +258
bc_program_pushVar                                     -     236    +236
bc_num_r                                               -     231    +231
bc_program_addFunc                                     -     220    +220
bc_lex_kws                                             -     220    +220
bc_err_msgs                                            -     216    +216
bc_parse_create                                        -     198    +198
bc_vm_posixError                                       -     194    +194
bc_parse_reset                                         -     194    +194
bc_parse_operator                                      -     181    +181
bc_program_reset                                       -     178    +178
bc_program_printStream                                 -     176    +176
bc_num_divmod                                          -     168    +168
bc_copyright                                           -     155    +155
bc_program_search                                      -     154    +154
bc_num_binary                                          -     150    +150
bc_vm_error                                            -     148    +148
bc_program_pushArray                                   -     143    +143
bc_parse_text                                          -     142    +142
bc_num_printDigits                                     -     142    +142
bc_map_insert                                          -     142    +142
bc_parse_else                                          -     139    +139
bc_program_assignStr                                   -     131    +131
bc_args                                                -     125    +125
dc_parse_mem                                           -     116    +116
bc_parse_body                                          -     116    +116
bc_num_split                                           -     113    +113
bc_num_sub                                             -     112    +112
bc_num_add                                             -     112    +112
packed_usage                                       32958   33066    +108
bc_num_rem                                             -     104    +104
bc_parse_string                                        -     103    +103
bc_main                                                -      97     +97
bc_num_ulong                                           -      95     +95
bc_func_insert                                         -      89     +89
bc_vm_sig                                              -      88     +88
bc_program_prep                                        -      88     +88
bc_parse_number                                        -      88     +88
bc_array_expand                                        -      88     +88
bc_num_subArrays                                       -      84     +84
bc_num_compare                                         -      84     +84
bc_lex_name                                            -      83     +83
bc_args_lopt                                           -      81     +81
bc_parse_pushIndex                                     -      80     +80
bc_num_mul                                             -      80     +80
bc_num_mod                                             -      80     +80
bc_num_div                                             -      80     +80
bc_vm_info                                             -      76     +76
bc_program_name                                        -      75     +75
bc_map_find                                            -      71     +71
bc_lex_next                                            -      71     +71
bc_num_printHex                                        -      70     +70
bc_vec_concat                                          -      68     +68
bc_num_shift                                           -      68     +68
bc_num_extend                                          -      68     +68
bc_program_index                                       -      66     +66
bc_num_ulong2num                                       -      66     +66
bc_num_retireMul                                       -      66     +66
bc_parse_noElse                                        -      65     +65
bc_vec_string                                          -      64     +64
bc_parse_pushName                                      -      63     +63
bc_parse_exprs                                         -      60     +60
bc_err_ids                                             -      58     +58
bc_result_free                                         -      57     +57
bc_vec_npop                                            -      55     +55
dc_parse_parse                                         -      53     +53
bc_vec_push                                            -      53     +53
bc_parse_free                                          -      53     +53
bc_num_inv                                             -      53     +53
dc_parse_register                                      -      52     +52
dc_lex_regs                                            -      52     +52
bc_lex_whitespace                                      -      52     +52
bc_num_copy                                            -      51     +51
bc_program_binOpRetire                                 -      50     +50
bc_parse_ops                                           -      50     +50
bc_map_index                                           -      50     +50
bcg                                                    -      48     +48
bc_num_init                                            -      48     +48
bc_parse_startBody                                     -      47     +47
bc_num_pow                                             -      47     +47
bc_vm_putchar                                          -      46     +46
bc_vm_exit                                             -      46     +46
bc_num_clean                                           -      45     +45
bc_parse_addFunc                                       -      44     +44
bc_vec_grow                                            -      42     +42
bc_program_len                                         -      42     +42
bc_num_truncate                                        -      42     +42
bc_array_init                                          -      42     +42
bc_parse_expression                                    -      39     +39
bc_lex_lineComment                                     -      39     +39
bc_num_expand                                          -      38     +38
bc_vec_init                                            -      37     +37
bc_vm_printf                                           -      36     +36
bc_num_printNewline                                    -      36     +36
bc_func_free                                           -      35     +35
bc_sig_msg                                             -      34     +34
bc_program_retire                                      -      34     +34
bc_lex_assign                                          -      34     +34
dc_parse_init                                          -      33     +33
bc_parse_init                                          -      33     +33
dc_sig_msg                                             -      31     +31
bc_vec_expand                                          -      30     +30
bc_num_ten                                             -      30     +30
bc_num_one                                             -      28     +28
bc_errs                                                -      28     +28
bc_vec_free                                            -      27     +27
bc_program_ops                                         -      24     +24
bc_vm_puts                                             -      23     +23
bc_num_printChar                                       -      23     +23
bc_program_ready_msg                                   -      22     +22
bc_vm_fflush                                           -      21     +21
dc_main                                               77      97     +20
bc_parse_next_rel                                      -      20     +20
bc_parse_next_read                                     -      20     +20
bc_parse_next_print                                    -      20     +20
bc_parse_next_param                                    -      20     +20
bc_parse_next_for                                      -      20     +20
bc_parse_next_expr                                     -      20     +20
bc_parse_next_elem                                     -      20     +20
bc_warn_fmt                                            -      17     +17
bc_vec_pushByte                                        -      15     +15
bc_string_free                                         -      15     +15
bc_num_setToZero                                       -      15     +15
bc_num_free                                            -      15     +15
bc_lex_file                                            -      15     +15
bc_id_free                                             -      15     +15
bc_err_fmt                                             -      15     +15
bc_vec_item_rev                                        -      14     +14
bc_id_cmp                                              -      12     +12
bc_num_zero                                            -      11     +11
bc_vec_item                                            -       9      +9
bc_program_stdin_name                                  -       8      +8
bc_program_scale                                       -       8      +8
bc_args_opt                                            -       8      +8
bc_func_read                                           -       7      +7
bc_func_main                                           -       7      +7
bc_err_line                                            -       7      +7
bc_lib_name                                            -       4      +4
bc_args_env_name                                       -       4      +4
applet_main                                         1604    1608      +4
dc_name                                                -       3      +3
bc_name                                                -       3      +3
applet_names                                        2781    2784      +3
static.bases                                           5       -      -5
check_under                                           20       -     -20
pop                                                   24       -     -24
print_no_pop                                          32       -     -32
sub                                                   34       -     -34
divide                                                34       -     -34
mul                                                   37       -     -37
add                                                   37       -     -37
push                                                  38       -     -38
print_stack_no_pop                                    40       -     -40
not                                                   72       -     -72
set_output_base                                       95       -     -95
or                                                   103       -    -103
eor                                                  103       -    -103
and                                                  103       -    -103
mod                                                  105       -    -105
stack_machine                                        116       -    -116
operators                                            144       -    -144
print_base                                           230       -    -230
------------------------------------------------------------------------------
(add/remove: 173/20 grow/shrink: 4/0 up/down: 38089/-1372)  Total: 36717 bytes
   text	   data	    bss	    dec	    hex	filename
 950181	    485	   7296	 957962	  e9e0a	busybox_old
 989722	    485	   7344	 997551	  f38af	busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:42:48 +01:00 
						 
				 
			
				
					
						
							
							
								Gavin Howard 
							
						 
					 
					
						
						
							
						
						01055ba89a 
					 
					
						
						
							
							bc: new applet, throws warning  
						
						... 
						
						
						
						Signed-off-by: Gavin Howard <yzena.tech@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-05 15:40:38 +01:00 
						 
				 
			
				
					
						
							
							
								Ron Yorston 
							
						 
					 
					
						
						
							
						
						d08206dce1 
					 
					
						
						
							
							vi: correctly detect when a deletion empties the buffer  
						
						... 
						
						
						
						Michał Berger has reported two issues:
- Repeatedly deleting and undoing the deletion of the last line
  results in characters being lost from the end of the line.
- Deleting the bottom line twice then attempting to undo each of
  these deletions results in a segfault.
The problem seems to be an incorrect test for whether the text buffer
is empty.
Reported-by: Michał Berger <michallinuxstuff@gmail.com >
Signed-off-by: Ron Yorston <rmy@pobox.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com > 
						
						
					 
					
						2018-12-03 10:07:58 +01:00