busybox/miscutils
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
..
adjtimex.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
bbconfig.c libarchive: add a function to unpack embedded data 2018-11-02 14:14:51 +01:00
bc.c bc: handle BIN_FILE and LEX_BAD_CHAR errors at the site of detection 2018-12-05 15:43:35 +01:00
beep.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
chat.c chat: do not die when HANGUP param is missing. Closes 10016 2017-09-05 19:16:40 +02:00
Config.src restore documentation on the build config language 2018-06-06 15:16:48 +02:00
conspy.c getopt32: remove applet_long_options 2017-08-08 17:09:40 +02:00
crond.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
crontab.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
dc.c bc: new applet, throws warning 2018-12-05 15:40:38 +01:00
devfsd.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
devmem.c whitespace and comment format fixes, no code changes 2017-10-05 14:40:24 +02:00
fbsplash.c fbsplash: support configurable image position 2018-03-29 18:42:11 +02:00
fbsplash.cfg fbsplash: cosmetic comment and Config text fixes; rename .ini -> .cfg 2008-03-26 15:12:11 +00:00
flash_eraseall.c libbb: commonalize a bit of little-endian CRC32 table generation code 2018-02-01 10:56:19 +01:00
flash_lock_unlock.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
flashcp.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
hdparm.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
hexedit.c hexedit: fixes for redraw and down movement causing SEGV on attempt to access 2018-07-23 14:26:55 +02:00
i2c_tools.c xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy 2018-04-07 15:23:10 +02:00
inotifyd.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
Kbuild.src Remove trailing empty lines 2016-11-23 10:43:39 +01:00
less.c less: fix fallout from "use common routine to set raw termios" 2018-04-16 10:24:48 +02:00
lsscsi.c lsscsi: fix xchdir("..") from symlink in /sys/bus/scsi/devices 2017-10-22 10:43:43 +02:00
makedevs.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
man.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00
microcom.c less,microcom,lineedit: use common routine to set raw termios 2017-09-15 17:14:01 +02:00
mt.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
nandwrite.c nandwrite: cope with old headers which have no MTD_FILE_MODE_RAW 2018-01-14 13:43:31 +01:00
partprobe.c partprobe: make it NOEXEC 2017-08-05 01:46:39 +02:00
raidautorun.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
readahead.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
rfkill.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
runlevel.c runlevel: make it NOEXEC 2017-08-04 17:59:46 +02:00
rx.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
setfattr.c config: add size estimations for a few applets 2018-01-14 12:03:33 +01:00
setserial.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
strings.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
time.c libbb.h: always include sys/resource.h 2018-04-08 17:23:27 +02:00
ttysize.c new NOFORKs: pwdx,kill[all5],ttysize,realpath,readlink NOEXECs: date,resize 2017-08-03 19:03:32 +02:00
ubi_tools.c whitespace and comment format fixes, no code changes 2017-10-05 15:33:28 +02:00
ubirename.c ubi tools: ubiupdatevol supports "-" input and actually respects -s SIZE 2017-08-07 16:00:25 +02:00
volname.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
watchdog.c getopt32: remove opt_complementary 2017-08-08 21:55:02 +02:00