parse_key now detects if the key has arguments or not, parse config will not parse nonexistent values
parent
1ae19b5d04
commit
3dd5b82cb0
|
@ -78,7 +78,7 @@ int nextnw(FILE* file) {
|
|||
}
|
||||
|
||||
static
|
||||
void _parse_key(FILE* file, char* out) {
|
||||
int _parse_key(FILE* file, char* out) {
|
||||
char c;
|
||||
do {
|
||||
c = fgetc(file);
|
||||
|
@ -91,6 +91,8 @@ void _parse_key(FILE* file, char* out) {
|
|||
++out;
|
||||
}
|
||||
} while(c != ':' && c != ';');
|
||||
|
||||
return c != ':';
|
||||
}
|
||||
|
||||
static
|
||||
|
@ -137,9 +139,11 @@ void _parse_config(FILE* file) {
|
|||
char begin = nextnw(file);
|
||||
ungetc(begin, file);
|
||||
|
||||
_parse_key(file, key);
|
||||
int has_args = _parse_key(file, key);
|
||||
ungetc(nextnw(file), file);
|
||||
if(has_args) {
|
||||
_parse_value(file, value, &argc, argv);
|
||||
}
|
||||
|
||||
struct type_handler_t* handler = _find_handler_for(key);
|
||||
|
||||
|
|
Loading…
Reference in New Issue