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