@@ -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 */ | |||
/* |
@@ -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 | |||
*/ |