Browse Source

* Move config parse errors from stderr output to standart logging functions

tags/0.2.7
Vsevolod Stakhov 15 years ago
parent
commit
a3c3fb96d1
2 changed files with 39 additions and 10 deletions
  1. 4
    10
      src/cfg_file.h
  2. 35
    0
      src/cfg_utils.c

+ 4
- 10
src/cfg_file.h View File

@@ -39,16 +39,8 @@
/* 1 worker by default */
#define DEFAULT_WORKERS_NUM 1

#define yyerror(fmt, ...) \
fprintf (stderr, "Config file parse error!\non line: %d\n", yylineno); \
fprintf (stderr, "while reading text: %s\nreason: ", yytext); \
fprintf (stderr, fmt, ##__VA_ARGS__); \
fprintf (stderr, "\n")
#define yywarn(fmt, ...) \
fprintf (stderr, "Config file parse warning!\non line %d\n", yylineno); \
fprintf (stderr, "while reading text: %s\nreason: ", yytext); \
fprintf (stderr, fmt, ##__VA_ARGS__); \
fprintf (stderr, "\n")
#define yyerror parse_err
#define yywarn parse_warn

struct expression;
struct tokenizer;
@@ -292,6 +284,8 @@ struct expression* parse_expression (memory_pool_t *pool, char *line);
int yylex (void);
int yyparse (void);
void yyrestart (FILE *);
void parse_err (const char *fmt, ...);
void parse_warn (const char *fmt, ...);

#endif /* ifdef CFG_FILE_H */
/*

+ 35
- 0
src/cfg_utils.c View File

@@ -632,6 +632,41 @@ parse_regexp (memory_pool_t *pool, char *line)
return result;
}

void
parse_err (const char *fmt, ...)
{
va_list aq;
char logbuf[BUFSIZ], readbuf[32];
int r;
va_start (aq, fmt);
g_strlcpy (readbuf, yytext, sizeof (readbuf));

r = snprintf (logbuf, sizeof (logbuf), "config file parse error! line: %d, text: %s, reason: ", yylineno, readbuf);
r += vsnprintf (logbuf + r, sizeof (logbuf) - r, fmt, aq);

va_end (aq);
g_error ("%s", logbuf);
}

void
parse_warn (const char *fmt, ...)
{
va_list aq;
char logbuf[BUFSIZ], readbuf[32];
int r;
va_start (aq, fmt);
g_strlcpy (readbuf, yytext, sizeof (readbuf));

r = snprintf (logbuf, sizeof (logbuf), "config file parse warning! line: %d, text: %s, reason: ", yylineno, readbuf);
r += vsnprintf (logbuf + r, sizeof (logbuf) - r, fmt, aq);

va_end (aq);
g_warning ("%s", logbuf);
}


/*
* vi:ts=4
*/

Loading…
Cancel
Save