[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
18-fyi-numeric-interface.patch
From: |
Akim Demaille |
Subject: |
18-fyi-numeric-interface.patch |
Date: |
Sat, 13 Oct 2001 10:57:21 +0200 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* m4/utility.c (m4_numeric_arg): Use the usual (argc, argv, ...)
interface instead of (name, argc...).
Upon failure, specify which argument was guilty.
Adjust callers.
Index: m4/m4module.h
--- m4/m4module.h Sat, 13 Oct 2001 09:27:31 +0200 akim
+++ m4/m4module.h Sat, 13 Oct 2001 09:44:40 +0200 akim
@@ -202,7 +202,7 @@
boolean m4_bad_argc (int, m4_token **, int, int);
const char *m4_skip_space (const char *);
-boolean m4_numeric_arg (m4_token *, const char *, int *);
+boolean m4_numeric_arg (int, m4_token **, int, int *);
void m4_shipout_int (struct obstack *, int);
void m4_shipout_string (struct obstack*, const char*, int, boolean);
void m4_dump_args (struct obstack *obs, int argc, m4_token **argv, const char
*sep, boolean quoted);
Index: m4/utility.c
--- m4/utility.c Sat, 13 Oct 2001 09:27:31 +0200 akim
+++ m4/utility.c Sat, 13 Oct 2001 09:49:39 +0200 akim
@@ -138,16 +138,17 @@
VALUEP. If the conversion fails, print error message for macro MACRO.
Return TRUE iff conversion succeeds. */
boolean
-m4_numeric_arg (m4_token *macro, const char *arg, int *valuep)
+m4_numeric_arg (int argc, m4_token **argv, int arg, int *valuep)
{
char *endp;
- if (*arg == 0 || (*valuep = strtol (m4_skip_space (arg), &endp, 10),
- *m4_skip_space (endp) != 0))
+ if (*M4ARG (arg) == 0
+ || (*valuep = strtol (m4_skip_space (M4ARG (arg)), &endp, 10),
+ *m4_skip_space (endp) != 0))
{
M4WARN ((warning_status, 0,
- _("Warning: %s: non-numeric argument: %s"),
- TOKEN_TEXT (macro), arg));
+ _("Warning: %s: argument %d non-numeric: %s"),
+ M4ARG (0), arg - 1, M4ARG (arg)));
return FALSE;
}
return TRUE;
Index: modules/evalparse.c
--- modules/evalparse.c Sat, 13 Oct 2001 09:41:33 +0200 akim
+++ modules/evalparse.c Sat, 13 Oct 2001 09:48:08 +0200 akim
@@ -778,7 +778,7 @@
eval_token et;
eval_error err;
- if (argc >= 3 && !m4_numeric_arg (argv[0], M4ARG (2), &radix))
+ if (argc >= 3 && !m4_numeric_arg (argc, argv, 2, &radix))
return;
if (radix <= 1 || radix > 36)
@@ -789,7 +789,7 @@
return;
}
- if (argc >= 4 && !m4_numeric_arg (argv[0], M4ARG (3), &min))
+ if (argc >= 4 && !m4_numeric_arg (argc, argv, 3, &min))
return;
if (min <= 0)
Index: modules/m4.c
--- modules/m4.c Sat, 13 Oct 2001 09:27:31 +0200 akim
+++ modules/m4.c Sat, 13 Oct 2001 09:47:50 +0200 akim
@@ -387,7 +387,7 @@
{
int value;
- if (!m4_numeric_arg (argv[0], M4ARG (1), &value))
+ if (!m4_numeric_arg (argc, argv, 1, &value))
return;
m4_shipout_int (obs, value + 1);
@@ -397,7 +397,7 @@
{
int value;
- if (!m4_numeric_arg (argv[0], M4ARG (1), &value))
+ if (!m4_numeric_arg (argc, argv, 1, &value))
return;
m4_shipout_int (obs, value - 1);
@@ -413,7 +413,7 @@
{
int i = 0;
- if (argc == 2 && !m4_numeric_arg (argv[0], M4ARG (1), &i))
+ if (argc == 2 && !m4_numeric_arg (argc, argv, 1, &i))
return;
m4_make_diversion (i);
@@ -441,7 +441,7 @@
if (sscanf (M4ARG (1), "%d", &i) == 1)
m4_insert_diversion (i);
else if (no_gnu_extensions)
- m4_numeric_arg (argv[0], M4ARG (1), &i);
+ m4_numeric_arg (argc, argv, 1, &i);
else
{
FILE *fp = m4_path_search (M4ARG (1), (char **) NULL);
@@ -562,7 +562,7 @@
{
int exit_code = 0;
- if (argc == 2 && !m4_numeric_arg (argv[0], M4ARG (1), &exit_code))
+ if (argc == 2 && !m4_numeric_arg (argc, argv, 1, &exit_code))
exit_code = 0;
m4_module_close_all (obs);
@@ -678,10 +678,10 @@
int start, length, avail;
length = avail = strlen (M4ARG (1));
- if (!m4_numeric_arg (argv[0], M4ARG (2), &start))
+ if (!m4_numeric_arg (argc, argv, 2, &start))
return;
- if (argc == 4 && !m4_numeric_arg (argv[0], M4ARG (3), &length))
+ if (argc == 4 && !m4_numeric_arg (argc, argv, 3, &length))
return;
if (start < 0 || length <= 0 || start >= avail)
Index: modules/stdlib.c
--- modules/stdlib.c Sat, 13 Oct 2001 08:43:17 +0200 akim
+++ modules/stdlib.c Sat, 13 Oct 2001 09:48:31 +0200 akim
@@ -104,7 +104,7 @@
int overwrite = 1;
if (argc == 4)
- if (!m4_numeric_arg (argv[0], M4ARG (3), &overwrite))
+ if (!m4_numeric_arg (argc, argv, 3, &overwrite))
return;
#if HAVE_SETENV
@@ -202,7 +202,7 @@
struct passwd *pw;
int uid;
- if (!m4_numeric_arg (argv[0], M4ARG (1), &uid))
+ if (!m4_numeric_arg (argc, argv, 1, &uid))
return;
pw = getpwuid (uid);
@@ -257,7 +257,7 @@
seed = time (0L) * getpid ();
else
{
- if (!m4_numeric_arg (argv[0], M4ARG (1), &seed))
+ if (!m4_numeric_arg (argc, argv, 1, &seed))
return;
}
Index: modules/time.c
--- modules/time.c Sat, 13 Oct 2001 08:43:17 +0200 akim
+++ modules/time.c Sat, 13 Oct 2001 09:49:15 +0200 akim
@@ -97,7 +97,7 @@
time_t t;
if (argc == 2)
- m4_numeric_arg (argv[0], M4ARG (1), (int *) &t);
+ m4_numeric_arg (argc, argv, 1, (int *) &t);
else
t = time (0L);
@@ -141,7 +141,7 @@
{
time_t t;
- if (!m4_numeric_arg (argv[0], M4ARG (1), (int *) &t))
+ if (!m4_numeric_arg (argc, argv, 1, (int *) &t))
return;
format_tm (obs, gmtime (&t));
@@ -154,7 +154,7 @@
{
time_t t;
- if (!m4_numeric_arg (argv[0], M4ARG (1), (int *) &t))
+ if (!m4_numeric_arg (argc, argv, 1, (int *) &t))
return;
format_tm (obs, localtime (&t));
@@ -169,19 +169,19 @@
struct tm tm;
time_t t;
- if (!m4_numeric_arg (argv[0], M4ARG (1), &tm.tm_sec))
+ if (!m4_numeric_arg (argc, argv, 1, &tm.tm_sec))
return;
- if (!m4_numeric_arg (argv[0], M4ARG (2), &tm.tm_min))
+ if (!m4_numeric_arg (argc, argv, 2, &tm.tm_min))
return;
- if (!m4_numeric_arg (argv[0], M4ARG (3), &tm.tm_hour))
+ if (!m4_numeric_arg (argc, argv, 3, &tm.tm_hour))
return;
- if (!m4_numeric_arg (argv[0], M4ARG (4), &tm.tm_mday))
+ if (!m4_numeric_arg (argc, argv, 4, &tm.tm_mday))
return;
- if (!m4_numeric_arg (argv[0], M4ARG (5), &tm.tm_mon))
+ if (!m4_numeric_arg (argc, argv, 5, &tm.tm_mon))
return;
- if (!m4_numeric_arg (argv[0], M4ARG (6), &tm.tm_year))
+ if (!m4_numeric_arg (argc, argv, 6, &tm.tm_year))
return;
- if (M4ARG (7) && !m4_numeric_arg (argv[0], M4ARG (7), &tm.tm_isdst))
+ if (M4ARG (7) && !m4_numeric_arg (argc, argv, 7, &tm.tm_isdst))
return;
t = mktime (&tm);
@@ -201,7 +201,7 @@
char *buf;
int l;
- if (!m4_numeric_arg (argv[0], M4ARG (2), (int *) &t))
+ if (!m4_numeric_arg (argc, argv, 2, (int *) &t))
return;
tm = localtime (&t);
- 18-fyi-numeric-interface.patch,
Akim Demaille <=