[Toxine-cvs] CVS: toxine/src utils.c,1.31,1.32
Brought to you by:
f1rmb
From: Daniel Caujolle-B. <f1...@us...> - 2004-06-13 17:26:52
|
Update of /cvsroot/toxine/toxine/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16086 Modified Files: utils.c Log Message: @@fix echo command in script mode Index: utils.c =================================================================== RCS file: /cvsroot/toxine/toxine/src/utils.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- utils.c 30 May 2004 22:25:05 -0000 1.31 +++ utils.c 13 Jun 2004 17:26:36 -0000 1.32 @@ -757,7 +757,10 @@ } char *toxine_get_var(toxine_t *tox, const char *var) { + static char buffer[32768]; + error_code_clear(tox); + memset(buffer, 0, sizeof(buffer)); if(tox && var) { char *variable; @@ -765,11 +768,9 @@ variable = strchr(var, '$'); if(variable && (*variable == '$') && (*(variable + 1) != '$')) { - static char buffer[32768]; char varname[1024]; int found = 0; - memset(buffer, 0, sizeof(buffer)); memset(varname, 0, sizeof(varname)); if(sscanf(variable, "$\(%[a-z-A-Z-0-9-_])", &varname[0]) == 1) @@ -868,7 +869,6 @@ char *p = varname; int isargv = 1; - while(p && *p != '\0') { if(!isdigit(*p)) { isargv = 0; @@ -876,7 +876,7 @@ } p++; } - + if(isargv) { char *p = varname; int val = strtol(p, &p, 10); @@ -894,7 +894,7 @@ } } } - - error_code_set(tox, TOX_ERR_WRONG_SYNTAX); - return NULL; + + snprintf(buffer, sizeof(buffer), "%s", var); + return &buffer[0]; } |