diff options
author | pgen <p.gen.progs@gmail.com> | 2021-06-19 15:01:43 +0200 |
---|---|---|
committer | pgen <p.gen.progs@gmail.com> | 2021-06-19 15:01:43 +0200 |
commit | f5ced88b5ae851a5a64ede9d83640a1108485a4c (patch) | |
tree | 4e901f4903b2e023fa86e4a7e542d073b2296506 | |
parent | 0cdc9a51f61bfc88c636c816915280280f8be2c0 (diff) |
Correctly handles the order of the -i/-e options
Correct the code to comply with the manual regarding the order of
appearance of -i and -e on the command line.
-rw-r--r-- | smenu.c | 6 | ||||
-rw-r--r-- | tests/in-ex-clusions/t0007.good | 11 | ||||
l--------- | tests/in-ex-clusions/t0007.in | 1 | ||||
-rw-r--r-- | tests/in-ex-clusions/t0007.tst | 4 | ||||
-rw-r--r-- | tests/in-ex-clusions/t0008.good | 11 | ||||
l--------- | tests/in-ex-clusions/t0008.in | 1 | ||||
-rw-r--r-- | tests/in-ex-clusions/t0008.tst | 4 |
7 files changed, 35 insertions, 3 deletions
@@ -5338,15 +5338,15 @@ exclude_re_action(char * ctx_name, char * opt_name, char * param, int nb_values, char ** values, int nb_opt_data, void ** opt_data, int nb_ctx_data, void ** ctx_data) { - int * pattern_def_exclude = opt_data[0]; + int * pattern_def_include = opt_data[0]; char ** exclude_pattern = opt_data[1]; langinfo_t * langinfo = opt_data[2]; misc_t * misc = opt_data[3]; /* Set the default behaviour if not already set. */ /* """"""""""""""""""""""""""""""""""""""""""""" */ - if (*pattern_def_exclude == -1) - *pattern_def_exclude = 0; + if (*pattern_def_include == -1) + *pattern_def_include = 1; if (*exclude_pattern == NULL) *exclude_pattern = concat("(", values[0], ")", (char *)0); diff --git a/tests/in-ex-clusions/t0007.good b/tests/in-ex-clusions/t0007.good new file mode 100644 index 0000000..2cb10b9 --- /dev/null +++ b/tests/in-ex-clusions/t0007.good @@ -0,0 +1,11 @@ +$ OUT=$(smenu -e2 -i1 t0007.in) + +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +0:07 2:24 24:24 25:24 48:24 49:24 +$ + +$ echo ":$OUT:" + +:1: + +$ exit 0 diff --git a/tests/in-ex-clusions/t0007.in b/tests/in-ex-clusions/t0007.in new file mode 120000 index 0000000..0abc8f1 --- /dev/null +++ b/tests/in-ex-clusions/t0007.in @@ -0,0 +1 @@ +data1
\ No newline at end of file diff --git a/tests/in-ex-clusions/t0007.tst b/tests/in-ex-clusions/t0007.tst new file mode 100644 index 0000000..5fe32e3 --- /dev/null +++ b/tests/in-ex-clusions/t0007.tst @@ -0,0 +1,4 @@ +\S[150]\s[10]OUT=$(smenu -e2 -i1 t0007.in) +\S[150]\s[150]\r +\S[150]\s[10]echo ":$\s[10]OUT:" +exit 0 diff --git a/tests/in-ex-clusions/t0008.good b/tests/in-ex-clusions/t0008.good new file mode 100644 index 0000000..7c0b135 --- /dev/null +++ b/tests/in-ex-clusions/t0008.good @@ -0,0 +1,11 @@ +$ OUT=$(smenu -i1 -e2 t0008.in) + +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +0:07 2:24 4:24 6:24 8:24 10:24 12:24 14:24 16:24 24:24 25:24 48:24 49:24 +$ + +$ echo ":$OUT:" + +:1: + +$ exit 0 diff --git a/tests/in-ex-clusions/t0008.in b/tests/in-ex-clusions/t0008.in new file mode 120000 index 0000000..0abc8f1 --- /dev/null +++ b/tests/in-ex-clusions/t0008.in @@ -0,0 +1 @@ +data1
\ No newline at end of file diff --git a/tests/in-ex-clusions/t0008.tst b/tests/in-ex-clusions/t0008.tst new file mode 100644 index 0000000..fe20bef --- /dev/null +++ b/tests/in-ex-clusions/t0008.tst @@ -0,0 +1,4 @@ +\S[150]\s[10]OUT=$(smenu -i1 -e2 t0008.in) +\S[150]\s[150]\r +\S[150]\s[10]echo ":$\s[10]OUT:" +exit 0 |