Add line number in error output for lineparsing for
authorsteudten <steudten@users.sourceforge.net>
Wed, 7 Nov 2001 00:06:06 +0000 (00:06 +0000)
committersteudten <steudten@users.sourceforge.net>
Wed, 7 Nov 2001 00:06:06 +0000 (00:06 +0000)
actionsfile.

actions.c

index fff75a6..ee1f6a5 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -1,4 +1,4 @@
-const char actions_rcs[] = "$Id: actions.c,v 1.16 2001/10/23 21:30:30 jongfoster Exp $";
+const char actions_rcs[] = "$Id: actions.c,v 1.17 2001/10/25 03:40:47 david__schmidt Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/actions.c,v $
@@ -33,6 +33,12 @@ const char actions_rcs[] = "$Id: actions.c,v 1.16 2001/10/23 21:30:30 jongfoster
  *
  * Revisions   :
  *    $Log: actions.c,v $
+ *    Revision 1.17  2001/10/25 03:40:47  david__schmidt
+ *    Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
+ *    threads to call select() simultaneously.  So, it's time to do a real, live,
+ *    native OS/2 port.  See defines for __EMX__ (the porting layer) vs. __OS2__
+ *    (native). Both versions will work, but using __OS2__ offers multi-threading.
+ *
  *    Revision 1.16  2001/10/23 21:30:30  jongfoster
  *    Adding error-checking to selected functions.
  *
@@ -1145,6 +1151,7 @@ int load_actions_file(struct client_state *csp)
    struct action_spec * cur_action = NULL;
    int cur_action_used = 0;
    struct action_alias * alias_list = NULL;
+   unsigned long linenum = 0;
 
    if (!check_file_changed(current_actions_file, csp->config->actions_file, &fs))
    {
@@ -1177,7 +1184,7 @@ int load_actions_file(struct client_state *csp)
       return 1; /* never get here */
    }
 
-   while (read_config_line(buf, sizeof(buf), fp) != NULL)
+   while (read_config_line(buf, sizeof(buf), fp, &linenum) != NULL)
    {
       if (*buf == '{')
       {
@@ -1193,8 +1200,8 @@ int load_actions_file(struct client_state *csp)
                /* too short */
                fclose(fp);
                log_error(LOG_LEVEL_FATAL,
-                  "can't load actions file '%s': invalid line: %s",
-                  csp->config->actions_file, buf);
+                  "can't load actions file '%s': invalid line (%lu): %s", 
+                  csp->config->actions_file, linenum, buf);
                return 1; /* never get here */
             }
 
@@ -1207,8 +1214,8 @@ int load_actions_file(struct client_state *csp)
                /* too short */
                fclose(fp);
                log_error(LOG_LEVEL_FATAL,
-                  "can't load actions file '%s': invalid line: {{ }}",
-                  csp->config->actions_file);
+                  "can't load actions file '%s': invalid line (%lu): {{ }}",
+                  csp->config->actions_file, linenum);
                return 1; /* never get here */
             }
 
@@ -1239,8 +1246,8 @@ int load_actions_file(struct client_state *csp)
                    */
                   fclose(fp);
                   log_error(LOG_LEVEL_FATAL,
-                     "can't load actions file '%s': {{settings}} must only appear once, and it must be before anything else.",
-                     csp->config->actions_file);
+                     "can't load actions file '%s': line %lu: {{settings}} must only appear once, and it must be before anything else.",
+                     csp->config->actions_file, linenum);
                }
                mode = MODE_SETTINGS;
             }
@@ -1253,8 +1260,8 @@ int load_actions_file(struct client_state *csp)
                    */
                   fclose(fp);
                   log_error(LOG_LEVEL_FATAL,
-                     "can't load actions file '%s': {{description}} must only appear once, and only a {{settings}} block may be above it.",
-                     csp->config->actions_file);
+                     "can't load actions file '%s': line %lu: {{description}} must only appear once, and only a {{settings}} block may be above it.",
+                     csp->config->actions_file, linenum);
                }
                mode = MODE_DESCRIPTION;
             }
@@ -1275,8 +1282,8 @@ int load_actions_file(struct client_state *csp)
                    */
                   fclose(fp);
                   log_error(LOG_LEVEL_FATAL,
-                     "can't load actions file '%s': {{alias}} must only appear once, and it must be before all actions.",
-                     csp->config->actions_file, start);
+                     "can't load actions file '%s': line %lu: {{alias}} must only appear once, and it must be before all actions.",
+                     csp->config->actions_file, linenum);
                }
                mode = MODE_ALIAS;
             }
@@ -1285,8 +1292,8 @@ int load_actions_file(struct client_state *csp)
                /* invalid {{something}} block */
                fclose(fp);
                log_error(LOG_LEVEL_FATAL,
-                  "can't load actions file '%s': invalid line: {{%s}}",
-                  csp->config->actions_file, start);
+                  "can't load actions file '%s': invalid line (%lu): {{%s}}",
+                  csp->config->actions_file, linenum, start);
                return 1; /* never get here */
             }
          }
@@ -1332,8 +1339,8 @@ int load_actions_file(struct client_state *csp)
                /* No closing } */
                fclose(fp);
                log_error(LOG_LEVEL_FATAL,
-                  "can't load actions file '%s': invalid line: %s",
-                  csp->config->actions_file, buf);
+                  "can't load actions file '%s': invalid line (%lu): %s",
+                  csp->config->actions_file, linenum, buf);
                return 1; /* never get here */
             }
             *end = '\0';
@@ -1346,8 +1353,8 @@ int load_actions_file(struct client_state *csp)
                /* error */
                fclose(fp);
                log_error(LOG_LEVEL_FATAL,
-                  "can't load actions file '%s': invalid line: %s",
-                  csp->config->actions_file, buf);
+                  "can't load actions file '%s': invalid line (%lu): %s",
+                  csp->config->actions_file, linenum, buf);
                return 1; /* never get here */
             }
          }
@@ -1381,8 +1388,8 @@ int load_actions_file(struct client_state *csp)
          if ((start == NULL) || (start == buf))
          {
             log_error(LOG_LEVEL_FATAL,
-               "can't load actions file '%s': invalid alias line: %s",
-               csp->config->actions_file, buf);
+               "can't load actions file '%s': invalid alias line (%lu): %s",
+               csp->config->actions_file, linenum, buf);
             return 1; /* never get here */
          }
 
@@ -1416,8 +1423,8 @@ int load_actions_file(struct client_state *csp)
          if (*start == '\0')
          {
             log_error(LOG_LEVEL_FATAL,
-               "can't load actions file '%s': invalid alias line: %s",
-               csp->config->actions_file, buf);
+               "can't load actions file '%s': invalid alias line (%lu): %s",
+               csp->config->actions_file, linenum, buf);
             return 1; /* never get here */
          }
 
@@ -1430,8 +1437,8 @@ int load_actions_file(struct client_state *csp)
             /* error */
             fclose(fp);
             log_error(LOG_LEVEL_FATAL,
-               "can't load actions file '%s': invalid alias line: %s = %s",
-               csp->config->actions_file, buf, start);
+               "can't load actions file '%s': invalid alias line (%lu): %s = %s",
+               csp->config->actions_file, linenum, buf, start);
             return 1; /* never get here */
          }
 
@@ -1461,8 +1468,8 @@ int load_actions_file(struct client_state *csp)
          {
             fclose(fp);
             log_error(LOG_LEVEL_FATAL,
-               "can't load actions file '%s': cannot create URL pattern from: %s",
-               csp->config->actions_file, buf);
+               "can't load actions file '%s': line %lu: cannot create URL pattern from: %s",
+               csp->config->actions_file, linenum, buf);
             return 1; /* never get here */
          }
 
@@ -1475,8 +1482,8 @@ int load_actions_file(struct client_state *csp)
          /* oops - please have a {} line as 1st line in file. */
          fclose(fp);
          log_error(LOG_LEVEL_FATAL,
-            "can't load actions file '%s': first line is invalid: %s",
-            csp->config->actions_file, buf);
+            "can't load actions file '%s': first needed line (%lu) is invalid: %s",
+            csp->config->actions_file, linenum, buf);
          return 1; /* never get here */
       }
       else