diff --git a/src/cpp.c b/src/cpp.c index c53a0d63fc5ee530c1f51a487ea3df951c34bbc5..f7c13bb0f2baffa6d6f0fc9905aa30ffb9a1f4de 100644 --- a/src/cpp.c +++ b/src/cpp.c @@ -563,8 +563,10 @@ static INT32 low_cpp(struct cpp *this, for(arg=0;arg<d->args;arg++) { + if(arg && data[pos]==',') pos++; SKIPWHITE(); arguments[arg].arg=data + pos; + if(data[pos]==')') { cpp_error(this,"Too few arguments to macro."); @@ -598,8 +600,8 @@ static INT32 low_cpp(struct cpp *this, pos=find_end_parenthesis(this, data, len, pos); continue; - case ')': pos--; - case ',': + case ')': + case ',': pos--; break; } break;