mirror of
synced
2026-10-30 21:34:23 +03:00
-
563d93c9a4
bc: simplify zbc_parse_break_or_continue(), logic is the same
Denys Vlasenko
2018-12-16 19:47:40 +01:00
-
a50576a415
bc: fold zbc_parse_else() into its only caller
Denys Vlasenko
2018-12-16 19:21:57 +01:00
-
6d29879c67
bc: fold bc_parse_noElse() into its only caller
Denys Vlasenko
2018-12-16 19:10:38 +01:00
-
9dc5d08baa
bc: delete unused (write-only) BcParse::nbraces member
Denys Vlasenko
2018-12-16 18:43:51 +01:00
-
202dd1943c
bc: fixes for multi-line if/while/for
Denys Vlasenko
2018-12-16 17:30:35 +01:00
-
e9519e44a6
bc: fix handling of 'return' not in functions, and 'define f()<newline>{...}'
Denys Vlasenko
2018-12-16 17:06:07 +01:00
-
d1d29b4245
bc: partially rewrite parser, tests pass, ^C might be broken now
Denys Vlasenko
2018-12-16 16:03:03 +01:00
-
99b3762335
bc: lexer debugging, added some failing test cases
Denys Vlasenko
2018-12-15 20:06:59 +01:00
-
fd51e0c4d2
bc: simplify BC_INST_JUMP[_ZERO] handling
Denys Vlasenko
2018-12-15 15:07:14 +01:00
-
7db384338a
bc: rewrite "block flag stack" using simple realloc'ed byte array
Denys Vlasenko
2018-12-15 00:39:17 +01:00
-
f10f17f8d3
bc: drop zbc_parse_endBody() bool parameter, move its code to caller which uses it
Denys Vlasenko
2018-12-14 23:41:33 +01:00
-
0154d78738
bc: shorten one message, make defines more readable
Denys Vlasenko
2018-12-14 23:32:51 +01:00
-
7b1df3db97
bc: pull zbc_lex_next() call out of zbc_parse_operator() into one caller that uses it
Denys Vlasenko
2018-12-14 23:12:48 +01:00
-
17df882a57
bx: add more debug scaffolding
Denys Vlasenko
2018-12-14 23:00:24 +01:00
-
2ea53a45b7
bc: convert macro bc_parse_push() to function, add debug infrastructure
Denys Vlasenko
2018-12-14 17:51:17 +01:00
-
f86e960e7c
bc: rename zbc_parse_text() to ..._init(), reuse existing code for library parsing
Denys Vlasenko
2018-12-14 17:01:56 +01:00
-
0a23814e98
bc: compress two constant arguments of bc_lex_assign() to one
Denys Vlasenko
2018-12-14 16:48:34 +01:00
-
8226912b2c
bc: remove stale comment, empty lines, regularize comment style
Denys Vlasenko
2018-12-14 16:30:56 +01:00
-
87b49beeda
bc: tweak bc_num_parseDecimal() for readability, logic is not changed
Denys Vlasenko
2018-12-14 16:24:01 +01:00
-
240d7ee3fc
bc: shrink s() in library again
Denys Vlasenko
2018-12-14 11:27:09 +01:00
-
fc9d26902b
bc: yet another library shrink
Denys Vlasenko
2018-12-14 11:00:23 +01:00
-
c06537d9bb
bc: shrink internal library yet more
Denys Vlasenko
2018-12-14 10:10:37 +01:00
-
203210e253
bc: shrink internal library more
Denys Vlasenko
2018-12-14 09:53:50 +01:00
-
3ac0c21a1f
bc: shrink internal library
Denys Vlasenko
2018-12-14 01:01:01 +01:00
-
57b6918b0a
bc: group ENABLE_BC code a bit better, no logic changes
Denys Vlasenko
2018-12-14 00:12:13 +01:00
-
5f263f406c
bc: fix "dc only" bug
Denys Vlasenko
2018-12-13 22:49:59 +01:00
-
e755e30402
bc: unbreak "only bc" and "only dc" configs
Denys Vlasenko
2018-12-13 22:25:28 +01:00
-
89198a9e5d
bc: simplify bc_lex_whitespace()
Denys Vlasenko
2018-12-13 21:31:29 +01:00
-
bbcecc4118
bc: G.sbgn and G.send are unused, remove them
Denys Vlasenko
2018-12-13 21:17:43 +01:00
-
0fe270e775
bc: simplify filename saving in zbc_vm_file()
Denys Vlasenko
2018-12-13 19:58:58 +01:00
-
915c72b273
bc: do not append duplicate NUL, reduce indentation in bc_read_line()
Denys Vlasenko
2018-12-13 19:28:41 +01:00
-
82ea67fbfa
bc: change bc_read_line() and zbc_vm_stdin() to avoid double buffers
Denys Vlasenko
2018-12-13 19:23:45 +01:00
-
b7e61e3e4a
bc: further simplification in zbc_vm_stdin()
Denys Vlasenko
2018-12-13 18:16:39 +01:00
-
818b602c88
bc: fix another thinko
Denys Vlasenko
2018-12-13 17:56:35 +01:00
-
335b4efd2f
bc: fix a thinko: dc uses [] string delimiters, bot bc!
Denys Vlasenko
2018-12-13 17:46:26 +01:00
-
766f67250f
bc: fix comment handling
Denys Vlasenko
2018-12-13 17:23:24 +01:00
-
7dc0a51286
bc: further zbc_vm_stdin() optimizations
Denys Vlasenko
2018-12-13 17:36:41 +01:00
-
40534bb6e2
bc: shrink zbc_vm_stdin()
Denys Vlasenko
2018-12-13 16:59:24 +01:00
-
89e785af98
bc: trim config help text, add a few comments, no code changes
Denys Vlasenko
2018-12-13 16:35:52 +01:00
-
9811ad02bd
bc: unbreak CONFIG_FEATURE_BC_SIGNALS=y config
Denys Vlasenko
2018-12-12 23:25:13 +01:00
-
c2265f526e
bc: remove lexer function pointer
Denys Vlasenko
2018-12-12 23:10:08 +01:00
-
c0ef23ca40
bc: remove parse function pointer
Denys Vlasenko
2018-12-12 23:03:10 +01:00
-
19f110751d
bc: convert two more functions to "z" logic
Denys Vlasenko
2018-12-12 22:48:19 +01:00
-
8a89247e0a
bc: remove BC_STATUS_EOF (again), the condition is detectable as len==0
Denys Vlasenko
2018-12-12 22:43:58 +01:00
-
d8078a79be
dc: fix EOF handling in case of last line being incomplete
Denys Vlasenko
2018-12-12 21:56:06 +01:00
-
9a23b07c4c
testsuite: add bc and dc tests
Denys Vlasenko
2018-12-12 21:41:40 +01:00
-
d6ad3666dc
bc: further conversions to "z" logic
Denys Vlasenko
2018-12-12 21:39:10 +01:00
-
c2da68e896
bc: optimize bc_parse_pushIndex()
Denys Vlasenko
2018-12-12 16:44:34 +01:00
-
26819db9a3
bc: convert even more of lexer functions to "z" convention
Denys Vlasenko
2018-12-12 16:08:46 +01:00
-
ae0faf91d0
bc: convert even more of lexer functions to "z" convention
Denys Vlasenko
2018-12-12 15:19:54 +01:00
-
8cd468f604
bc: convert more of lexer functions to "z" convention
Denys Vlasenko
2018-12-12 14:54:38 +01:00
-
9a34e89289
bc: partially convert lexer functions to "z" convention
Denys Vlasenko
2018-12-12 13:58:55 +01:00
-
251fbb57be
bc: code shrink in bc_num_cmp()
Denys Vlasenko
2018-12-12 11:51:32 +01:00
-
16494f557f
bc: simplify zbc_program_logical()
Denys Vlasenko
2018-12-12 00:50:23 +01:00
-
69171dc466
bc: simplify nested read() check
Denys Vlasenko
2018-12-12 00:29:24 +01:00
-
12b9eaf787
bc: in non-interactive config, POSIX error functions never return nonzero
Denys Vlasenko
2018-12-11 23:50:14 +01:00
-
f0f069b08f
bc: use common_parse_init() in bc_vm_init()
Denys Vlasenko
2018-12-11 23:22:52 +01:00
-
4dd3652c2f
bc: fix EOF handling in bc_program_read()
Denys Vlasenko
2018-12-11 22:26:38 +01:00
-
2c6f563216
bc: tweak comment
Denys Vlasenko
2018-12-11 21:21:14 +01:00
-
c008a73762
bc: convert bc_program_asciify to "z" function
Denys Vlasenko
2018-12-11 20:57:53 +01:00
-
9f657e0f7d
bc: shrink bc_program_printString
Denys Vlasenko
2018-12-11 19:52:25 +01:00
-
259137d0f0
bc: convert zbc_program_op to "z" function, fix a thinko in prev commits
Denys Vlasenko
2018-12-11 19:42:05 +01:00
-
728e7c9ecb
bc: convert bc_program_logical to "z" function
Denys Vlasenko
2018-12-11 19:37:00 +01:00
-
09d8df84ee
bc: do not use "(cond ? f1 : f2)(params)" idiom, it messes up static function optimizations
Denys Vlasenko
2018-12-11 19:29:35 +01:00
-
7f4daa4f58
bc: convert arithmetic calc functions to "z" logic
Denys Vlasenko
2018-12-11 19:04:44 +01:00
-
1aeacefbb3
bc: rename arithmetic calc functions to "z" functions, no code changes
Denys Vlasenko
2018-12-11 19:12:13 +01:00
-
c2d15dff42
bc: move declarations around, no code changes
Denys Vlasenko
2018-12-11 17:56:09 +01:00
-
c355c4a7d6
bc: code shrink in zbc_lex_number()
Denys Vlasenko
2018-12-11 17:36:21 +01:00
-
b402ff844c
bc: make bc_program_pushVar "z-function"
Denys Vlasenko
2018-12-11 15:45:15 +01:00
-
2930123279
bc: improve "noninteractive" macro machinery so that even "return zero" code is not generated
Denys Vlasenko
2018-12-11 15:29:32 +01:00
-
91cde95916
bc: it's not clear bc_vm_file() always exits on errors, remove ERRORS_ARE_FATAL
Denys Vlasenko
2018-12-10 20:56:08 +01:00
-
628bf1bc63
bc: more ERRORS_ARE_FATAL annotations
Denys Vlasenko
2018-12-10 20:41:05 +01:00
-
88cfea6a81
bc: stop checking for name length in bc_lex_name()
Denys Vlasenko
2018-12-10 20:26:04 +01:00
-
fa35e598ab
bc: optimize non-interactive config: we know that many functions always succeed
Denys Vlasenko
2018-12-10 20:17:24 +01:00
-
86e63cdeca
bc: in non-interactive config, let compiler know that error funcs do not return
Denys Vlasenko
2018-12-10 19:46:53 +01:00
-
3a4d5a73a8
tls: prepare for ECDH_anon ciphers
Denys Vlasenko
2018-12-10 19:19:38 +01:00
-
c67ff8a1b0
tls: fix a potential (currently "disabled" by a macro) SHA1-related bug
Denys Vlasenko
2018-12-10 18:49:29 +01:00
-
63bfe0e4c0
tls: if !ENABLE_FEATURE_TLS_SHA1, tls->MAC_size is always SHA256_OUTSIZE for AES-CBC
Denys Vlasenko
2018-12-10 16:43:53 +01:00
-
71fa5b0a4c
tls: introduce FEATURE_TLS_SHA1 to make SHA1 code optional
Denys Vlasenko
2018-12-10 16:14:58 +01:00
-
dafbc2cdb8
bc: simplify bc_num_parseDecimal() further
Denys Vlasenko
2018-12-10 15:38:52 +01:00
-
5ba55f1f35
bc: make all function pointers FAST_FUNC, on i486 this saves ~400 bytes
Denys Vlasenko
2018-12-10 15:37:14 +01:00
-
c665c183f1
bc: 0xffffffffffffffff may be larger than unsigned long
Denys Vlasenko
2018-12-10 15:15:42 +01:00
-
8b4cf0dbb0
bc: optimize bc_vec_concat()
Denys Vlasenko
2018-12-10 15:12:58 +01:00
-
a7f1a36540
bc: simplify bc_program_len()
Denys Vlasenko
2018-12-10 12:57:01 +01:00
-
44d79d866d
bc: simplify bc_program_print()
Denys Vlasenko
2018-12-10 12:33:40 +01:00
-
b696d9ec20
bc: simplify bc_num_ulong2num()
Denys Vlasenko
2018-12-10 12:22:15 +01:00
-
9311e01803
bc: move str-to-num conversion functions to their only caller, bc_num_parse()
Denys Vlasenko
2018-12-10 11:54:18 +01:00
-
218ed1cf54
bc: further simplify string-to-number conversion code
Denys Vlasenko
2018-12-09 13:33:52 +01:00
-
4a024c7719
bc: simplify string-tonumber conversion code
Denys Vlasenko
2018-12-09 13:21:54 +01:00
-
3129f705fc
bc: no need to "set to zero" BcNum after bc_num_init(), it already is
Denys Vlasenko
2018-12-09 12:04:44 +01:00
-
e20e00de34
bc: add and use bc_num_init_DEF_SIZE()
Denys Vlasenko
2018-12-09 11:44:20 +01:00
-
5ec4b49125
bc: in bc_program_execStr(), push two variables into inner scope
Denys Vlasenko
2018-12-09 02:54:06 +01:00
-
927a7d6853
bc: in bc_program_exec(), push two variables into inner scope
Denys Vlasenko
2018-12-09 02:24:14 +01:00
-
8fa1e8e6e7
bc: add accessors for G.prog.strs[idx], G.prog.fns[idx]
Denys Vlasenko
2018-12-09 00:03:57 +01:00
-
0f37b3286a
bc: eliminate always the same params to bc_num_printBase()
Denys Vlasenko
2018-12-08 23:48:53 +01:00
-
ebc41c9d94
bc: remove redundant error checks in bc_parse_print()
Denys Vlasenko
2018-12-08 23:36:28 +01:00
-
5f1b90b91a
bc: stop propagating pointer to G.prog.nchars deep into printing functions
Denys Vlasenko
2018-12-08 23:18:06 +01:00
-
2a8ad48734
bc: do not pass line width in parameters, it's in globals
Denys Vlasenko
2018-12-08 21:56:37 +01:00
-
ac6ed11f8d
bc: remove "ready for more input" message, GNU bc does not print that
Denys Vlasenko
2018-12-08 21:39:10 +01:00
-
32ec5f1705
tls: AES-GCM: in GMULT, avoid memcpy, use one less variable in bit loop
Denys Vlasenko
2018-12-08 21:24:38 +01:00