mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 14:36:13 +01:00
girparser: Don't rely on gi-compile-repository exporting debug level
It seems cleaner to store this in the parser, rather than having the compiler export a global variable that the parser must read. Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
a41496643b
commit
3f6de0706e
@ -124,7 +124,7 @@ out:
|
||||
return success;
|
||||
}
|
||||
|
||||
GLogLevelFlags logged_levels;
|
||||
static GLogLevelFlags logged_levels;
|
||||
|
||||
static void
|
||||
log_handler (const gchar *log_domain,
|
||||
@ -198,6 +198,7 @@ main (int argc, char **argv)
|
||||
includedirs ? g_strv_length (includedirs) : 0);
|
||||
|
||||
parser = gi_ir_parser_new ();
|
||||
gi_ir_parser_set_debug (parser, logged_levels);
|
||||
|
||||
gi_ir_parser_set_includes (parser, (const char *const *) includedirs);
|
||||
|
||||
|
@ -33,6 +33,8 @@ typedef struct _GIIrParser GIIrParser;
|
||||
|
||||
GIIrParser *gi_ir_parser_new (void);
|
||||
void gi_ir_parser_free (GIIrParser *parser);
|
||||
void gi_ir_parser_set_debug (GIIrParser *parser,
|
||||
GLogLevelFlags logged_levels);
|
||||
void gi_ir_parser_set_includes (GIIrParser *parser,
|
||||
const char *const *includes);
|
||||
|
||||
|
@ -61,6 +61,7 @@ struct _GIIrParser
|
||||
char **includes;
|
||||
char **gi_gir_path;
|
||||
GList *parsed_modules; /* All previously parsed modules */
|
||||
GLogLevelFlags logged_levels;
|
||||
};
|
||||
|
||||
typedef enum
|
||||
@ -191,9 +192,17 @@ gi_ir_parser_new (void)
|
||||
if (gi_gir_path != NULL)
|
||||
parser->gi_gir_path = g_strsplit (gi_gir_path, G_SEARCHPATH_SEPARATOR_S, 0);
|
||||
|
||||
parser->logged_levels = G_LOG_LEVEL_MASK & ~(G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_DEBUG);
|
||||
return parser;
|
||||
}
|
||||
|
||||
void
|
||||
gi_ir_parser_set_debug (GIIrParser *parser,
|
||||
GLogLevelFlags logged_levels)
|
||||
{
|
||||
parser->logged_levels = logged_levels;
|
||||
}
|
||||
|
||||
void
|
||||
gi_ir_parser_free (GIIrParser *parser)
|
||||
{
|
||||
@ -2915,8 +2924,6 @@ parse_include (GMarkupParseContext *context,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
extern GLogLevelFlags logged_levels;
|
||||
|
||||
static void
|
||||
start_element_handler (GMarkupParseContext *context,
|
||||
const char *element_name,
|
||||
@ -2927,7 +2934,7 @@ start_element_handler (GMarkupParseContext *context,
|
||||
{
|
||||
ParseContext *ctx = user_data;
|
||||
|
||||
if (logged_levels & G_LOG_LEVEL_DEBUG)
|
||||
if (ctx->parser->logged_levels & G_LOG_LEVEL_DEBUG)
|
||||
{
|
||||
GString *tags = g_string_new ("");
|
||||
int i;
|
||||
|
Loading…
Reference in New Issue
Block a user