aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkoekeishiya <aasvi93@hotmail.com>2018-05-10 17:01:40 +0200
committerkoekeishiya <aasvi93@hotmail.com>2018-05-10 17:01:40 +0200
commita2480cf868a9455dd3ebd8433992ed8369436c3c (patch)
treed8d15f0729a9a44f8907f1027b6de8ddc1b534a9 /src
parent9c6a1f6f8c09d0beff321cff854b7e3d86ea1676 (diff)
downloadskhd-a2480cf868a9455dd3ebd8433992ed8369436c3c.tar.gz
skhd-a2480cf868a9455dd3ebd8433992ed8369436c3c.zip
code cleanup
Diffstat (limited to 'src')
-rw-r--r--src/parse.c3
-rw-r--r--src/parse.h2
-rw-r--r--src/skhd.c7
3 files changed, 6 insertions, 6 deletions
diff --git a/src/parse.c b/src/parse.c
index 7bde2dc..bbdacfe 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -415,11 +415,12 @@ void parser_report_error(struct parser *parser, enum parse_error_type error_type
parser->error = true;
}
-bool parser_init(struct parser *parser, char *file)
+bool parser_init(struct parser *parser, struct table *mode_map, char *file)
{
memset(parser, 0, sizeof(struct parser));
char *buffer = read_file(file);
if (buffer) {
+ parser->mode_map = mode_map;
tokenizer_init(&parser->tokenizer, buffer);
parser_advance(parser);
return true;
diff --git a/src/parse.h b/src/parse.h
index 1c7719d..d3543b9 100644
--- a/src/parse.h
+++ b/src/parse.h
@@ -30,7 +30,7 @@ bool parser_eof(struct parser *parser);
struct token parser_advance(struct parser *parser);
bool parser_check(struct parser *parser, enum token_type type);
bool parser_match(struct parser *parser, enum token_type type);
-bool parser_init(struct parser *parser, char *file);
+bool parser_init(struct parser *parser, struct table *mode_map, char *file);
void parser_destroy(struct parser *parser);
void parser_report_error(struct parser *parser, enum parse_error_type error_type, const char *format, ...);
diff --git a/src/skhd.c b/src/skhd.c
index ee8772c..fb224f8 100644
--- a/src/skhd.c
+++ b/src/skhd.c
@@ -44,6 +44,7 @@ extern bool CGSIsSecureEventInputSet();
internal unsigned major_version = 0;
internal unsigned minor_version = 0;
internal unsigned patch_version = 14;
+
internal struct mode *current_mode;
internal struct table mode_map;
internal char *config_file;
@@ -71,15 +72,13 @@ internal void
parse_config_helper(char *absolutepath)
{
struct parser parser;
- if (parser_init(&parser, absolutepath)) {
- parser.mode_map = &mode_map;
+ if (parser_init(&parser, &mode_map, absolutepath)) {
parse_config(&parser);
parser_destroy(&parser);
- current_mode = table_find(&mode_map, "default");
} else {
- current_mode = NULL;
warn("skhd: could not open file '%s'\n", absolutepath);
}
+ current_mode = table_find(&mode_map, "default");
}
internal HOTLOADER_CALLBACK(config_handler)