m4-patches
[Top][All Lists]
Advanced

[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);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]