From 210409bc0b0d67b50153b757b5896488f328617f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 10 Dec 2000 05:11:36 +0000 Subject: [PATCH] '_' character wasn't treated as acceptable $variable_name character. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@986 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/core/special-vars.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/special-vars.c b/src/core/special-vars.c index 5cbe96e8..f3f7cf14 100644 --- a/src/core/special-vars.c +++ b/src/core/special-vars.c @@ -28,6 +28,9 @@ #define ALIGN_RIGHT 0x01 #define ALIGN_CUT 0x02 +#define isvarchar(c) \ + (isalnum(c) || (c) == '_') + static SPECIAL_HISTORY_FUNC history_func = NULL; static char *get_argument(char **cmd, char **arglist) @@ -128,7 +131,7 @@ static char *get_long_variable(char **cmd, SERVER_REC *server, /* get variable name */ start = *cmd; - while (isalnum((*cmd)[1])) (*cmd)++; + while (isvarchar((*cmd)[1])) (*cmd)++; var = g_strndup(start, (int) (*cmd-start)+1); ret = get_long_variable_value(var, server, item, free_ret); @@ -149,7 +152,7 @@ static char *get_variable(char **cmd, SERVER_REC *server, void *item, return get_argument(cmd, arglist); } - if (isalpha(**cmd) && isalnum((*cmd)[1])) { + if (isalpha(**cmd) && isvarchar((*cmd)[1])) { /* long variable name.. */ return get_long_variable(cmd, server, item, free_ret); }