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 Consolatis
parent 519d97a897
commit f20fc65f41

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';