MEDIUM: errors: implement parsing context type

Create a parsing_ctx structure. This type is used to store information
about the current file/line parsed. A global context is created and
can be manipulated when haproxy is in STARTING mode. When starting is
over, the context is resetted and should not be accessed anymore.
This commit is contained in:
Amaury Denoyelle
2021-05-27 15:45:28 +02:00
parent 0a1cdccebd
commit 6af81f80fb
3 changed files with 59 additions and 3 deletions

View File

@@ -60,12 +60,22 @@ enum {
};
void usermsgs_clr(void);
void usermsgs_clr(const char *prefix);
int usermsgs_empty(void);
const char *usermsgs_str(void);
/************ Error reporting functions ***********/
struct usermsgs_ctx {
const char *prefix; /* prefix of every output */
const char *file; /* related filename for config parsing */
int line; /* related line number for config parsing */
enum obj_type *obj; /* related proxy, server, ... */
};
void set_usermsgs_ctx(const char *file, int line, enum obj_type *obj);
void register_parsing_obj(enum obj_type *obj);
void reset_usermsgs_ctx(void);
/*
* Displays the message on stderr with the date and pid. Overrides the quiet
* mode during startup.