138 |
VALUEP. If the conversion fails, print error message for macro MACRO. |
VALUEP. If the conversion fails, print error message for macro MACRO. |
139 |
Return TRUE iff conversion succeeds. */ |
Return TRUE iff conversion succeeds. */ |
140 |
boolean |
boolean |
141 |
m4_numeric_arg (m4_token *macro, const char *arg, int *valuep) |
m4_numeric_arg (int argc, m4_token **argv, int arg, int *valuep) |
142 |
{ |
{ |
143 |
char *endp; |
char *endp; |
144 |
|
|
145 |
if (*arg == 0 || (*valuep = strtol (m4_skip_space (arg), &endp, 10), |
if (*M4ARG (arg) == 0 |
146 |
*m4_skip_space (endp) != 0)) |
|| (*valuep = strtol (m4_skip_space (M4ARG (arg)), &endp, 10), |
147 |
|
*m4_skip_space (endp) != 0)) |
148 |
{ |
{ |
149 |
M4WARN ((warning_status, 0, |
M4WARN ((warning_status, 0, |
150 |
_("Warning: %s: non-numeric argument: %s"), |
_("Warning: %s: argument %d non-numeric: %s"), |
151 |
TOKEN_TEXT (macro), arg)); |
M4ARG (0), arg - 1, M4ARG (arg))); |
152 |
return FALSE; |
return FALSE; |
153 |
} |
} |
154 |
return TRUE; |
return TRUE; |