From b346aaf5f1665cc76f84aeb75ec431c9f0105594 Mon Sep 17 00:00:00 2001 From: steudten Date: Wed, 7 Nov 2001 00:06:06 +0000 Subject: [PATCH] Add line number in error output for lineparsing for actionsfile. --- actions.c | 63 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/actions.c b/actions.c index fff75a69..ee1f6a54 100644 --- 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 -- 2.49.0