ref: fbf8bb861d0aa96307dec739ca80167b689d5ab2
parent: d445c02b0d677bee2357da71b8e65aa0c1200286
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Fri Jan 13 10:05:47 EST 2017
[cc1] Avoid calling atoi() in every macro parameter This was a debug loop which remained in this way.
--- a/cc1/cpp.c
+++ b/cc1/cpp.c
@@ -243,7 +243,7 @@
expand(char *begin, Symbol *sym)
{
size_t elen;
- int n;
+ int n, i;
char *s = sym->u.s;
char *arglist[NR_MACROARG], arguments[INPUTSIZ], buffer[INPUTSIZ];
@@ -259,10 +259,11 @@
if (!s)
return 1;
+ n = atoi(s);
if (!parsepars(arguments, arglist, atoi(s)))
return 0;
- for (n = 0; n < atoi(s); ++n)
- DBG("MACRO par%d:%s", n, arglist[n]);
+ for (i = 0; i < n; ++i)
+ DBG("MACRO par%d:%s", i, arglist[i]);
elen = copymacro(buffer, s+3, INPUTSIZ-1, arglist);