buf.c: fix bug in environment variable expansion

Allow underscore in environment variable names.

Closes issue #439

Helped-by: @Consolatis
...who both found the bug and told us how to fix it :)

Backport of fd7ec0ab95
This commit is contained in:
Johan Malm 2022-07-15 20:29:49 +01:00 committed by Flrian
parent 9abf535e51
commit 134ed05e30

View file

@ -29,7 +29,7 @@ buf_expand_shell_variables(struct buf *s)
environment_variable.len = 0;
buf_add(&environment_variable, s->buf + i + 1);
char *p = environment_variable.buf;
while (isalnum(*p) || *p == '{' || *p == '}') {
while (isalnum(*p) || *p == '_' || *p == '{' || *p == '}') {
++p;
}
*p = '\0';