diff options
author | Steve Vinoski <[email protected]> | 2010-10-06 11:28:08 -0400 |
---|---|---|
committer | Steve Vinoski <[email protected]> | 2010-10-06 11:28:08 -0400 |
commit | 386050e35675d3e4336f48a19b8562f9a62c1624 (patch) | |
tree | 8be3626133c7e7d696640f6c315b4d1dfcf3db7f /lib/erl_interface/test/ei_format_SUITE_data | |
parent | d8f8eeba477fd8872f1136fc507fa299f013cc46 (diff) | |
download | otp-386050e35675d3e4336f48a19b8562f9a62c1624.tar.gz otp-386050e35675d3e4336f48a19b8562f9a62c1624.tar.bz2 otp-386050e35675d3e4336f48a19b8562f9a62c1624.zip |
teach ei_x_format to handle unary - and +
Teach the format string parser used for ei_x_format() and
ei_x_format_wo_ver() about unary negative and positive operators on
numbers. Previously, passing a negative numeric constant or a positive
numeric constant with an explicit leading plus sign within the format
string would cause these functions to fail.
Augment the format_wo_ver unit test in the ei_format suite with a
regression test for these cases.
An easy way to reproduce the problem is to use erl_call:
erl_call -s foo@bar -a 'erlang list_to_integer [-1]'
Without this change, erl_call fails with a -1 exit status. With this
change, it properly prints "-1".
Diffstat (limited to 'lib/erl_interface/test/ei_format_SUITE_data')
-rw-r--r-- | lib/erl_interface/test/ei_format_SUITE_data/ei_format_test.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/erl_interface/test/ei_format_SUITE_data/ei_format_test.c b/lib/erl_interface/test/ei_format_SUITE_data/ei_format_test.c index a969ded3dc..ecdce402f5 100644 --- a/lib/erl_interface/test/ei_format_SUITE_data/ei_format_test.c +++ b/lib/erl_interface/test/ei_format_SUITE_data/ei_format_test.c @@ -176,7 +176,7 @@ TESTCASE(format_wo_ver) { ei_x_buff x; ei_x_new (&x); - ei_x_format(&x, "[{~a,~s},{~a,~i}]", "a", "b", "c", 10); + ei_x_format(&x, "[-1, +2, {~a,~s},{~a,~i}]", "a", "b", "c", 10); send_bin_term(&x); free(x.buff); |