BUG/MINOR: vars/cli: fix missing LF after "get var" output
authorWilly Tarreau <w@1wt.eu>
Thu, 8 Feb 2024 17:13:32 +0000 (18:13 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 14 Feb 2024 15:39:46 +0000 (16:39 +0100)
"get var" on the CLI was also missing an LF, and the vtest as well, so
that fixing only the code breaks the vtest. This must be backported to
2.4 as the issue was brought with commit c35eb38f1d ("MINOR: vars/cli:
add a "get var" CLI command to retrieve global variables").

(cherry picked from commit 5d0dd88ac6c01b1e4ecf7e63efa7ab2f7c1325cf)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

reg-tests/sample_fetches/vars.vtc
src/vars.c

index 5144e9f..29d474c 100644 (file)
@@ -34,7 +34,7 @@ haproxy h1 -conf {
 
 haproxy h1 -cli {
     send "get var proc.int5"
-    expect ~ "^proc.int5: type=sint value=<5>$"
+    expect ~ "^proc.int5: type=sint value=<5>"
 }
 
 client c1 -connect ${h1_fe1_sock} {
@@ -51,7 +51,7 @@ client c1 -connect ${h1_fe1_sock} {
 
 haproxy h1 -cli {
     send "get var proc.int5"
-    expect ~ "^proc.int5: type=sint value=<10>$"
+    expect ~ "^proc.int5: type=sint value=<10>"
 }
 
 client c2 -connect ${h1_fe1_sock} {
@@ -68,7 +68,7 @@ client c2 -connect ${h1_fe1_sock} {
 
 haproxy h1 -cli {
     send "get var proc.int5"
-    expect ~ "^proc.int5: type=sint value=<20>$"
+    expect ~ "^proc.int5: type=sint value=<20>"
 }
 
 haproxy h1 -cli {
index 0e76190..7ec753e 100644 (file)
@@ -1165,7 +1165,7 @@ static int vars_parse_cli_get_var(char **args, char *payload, struct appctx *app
 
        if (!sample_casts[smp.data.type][SMP_T_STR] ||
            !sample_casts[smp.data.type][SMP_T_STR](&smp)) {
-               chunk_appendf(&trash, "(undisplayable)");
+               chunk_appendf(&trash, "(undisplayable)\n");
        } else {
                /* Display the displayable chars*. */
                b_putchr(&trash, '<');
@@ -1176,6 +1176,7 @@ static int vars_parse_cli_get_var(char **args, char *payload, struct appctx *app
                                b_putchr(&trash, '.');
                }
                b_putchr(&trash, '>');
+               b_putchr(&trash, '\n');
                b_putchr(&trash, 0);
        }
        return cli_msg(appctx, LOG_INFO, trash.area);