# HG changeset patch # User Matti Hamalainen # Date 1451621743 -7200 # Node ID 5709d0beb394468f423dcebc8533595dd425c0a5 # Parent 9fb70b7b34ff799c9e3188074299ef1d63793785 Avoid using a global variable here. diff -r 9fb70b7b34ff -r 5709d0beb394 sidinfo.c --- a/sidinfo.c Fri Jan 01 06:14:00 2016 +0200 +++ b/sidinfo.c Fri Jan 01 06:15:43 2016 +0200 @@ -246,13 +246,16 @@ } -BOOL argParsePSFormatStr(const char *fmt) +// +// Parse a format string into a PSFStack structure +// +BOOL argParsePSFormatStr(PSFStack *stack, const char *fmt) { PSFStackItem item; const char *start; int mode = 0; - siClearStack(&optFormat); + siClearStack(stack); while (mode != -1) switch (mode) @@ -279,7 +282,7 @@ item.cmd = -2; item.str = NULL; item.chr = '@'; - if (!siStackAddItem(&optFormat, &item)) + if (!siStackAddItem(stack, &item)) return FALSE; } else @@ -290,7 +293,7 @@ { item.cmd = ret; item.str = NULL; - if (!siStackAddItem(&optFormat, &item)) + if (!siStackAddItem(stack, &item)) { th_free(field); return FALSE; @@ -311,8 +314,9 @@ { item.cmd = -1; item.str = th_strndup(start, fmt - start); - if (!siStackAddItem(&optFormat, &item)) + if (!siStackAddItem(stack, &item)) return FALSE; + mode = (*fmt == 0) ? -1 : 0; } else @@ -375,7 +379,7 @@ break; case 7: - if (!argParsePSFormatStr(optArg)) + if (!argParsePSFormatStr(&optFormat, optArg)) return FALSE; break;