Take allow_markup into account if markup is not set

Preserve backwards compatibility for now, this might be removed for the
3.0 release later on.
This commit is contained in:
Nikos Tsipinakis 2017-02-08 20:55:48 +02:00
parent 3024aed739
commit 42a641c728
3 changed files with 32 additions and 8 deletions

View File

@ -138,6 +138,11 @@ double ini_get_double(char *section, char *key, double def)
return atof(value); return atof(value);
} }
bool ini_is_set(char *ini_section, char *ini_key)
{
return get_value(ini_section, ini_key) != NULL;
}
char *next_section(char *section) char *next_section(char *section)
{ {
if (section_count == 0) if (section_count == 0)
@ -381,6 +386,11 @@ int cmdline_get_bool(char *key, int def, char *description)
return def; return def;
} }
bool cmdline_is_set(char *key)
{
return cmdline_get_value(key) != NULL;
}
char *option_get_string(char *ini_section, char *ini_key, char *cmdline_key, char *option_get_string(char *ini_section, char *ini_key, char *cmdline_key,
const char *def, char *description) const char *def, char *description)
{ {

View File

@ -9,6 +9,7 @@ char *ini_get_string(char *section, char *key, const char *def);
int ini_get_int(char *section, char *key, int def); int ini_get_int(char *section, char *key, int def);
double ini_get_double(char *section, char *key, double def); double ini_get_double(char *section, char *key, double def);
int ini_get_bool(char *section, char *key, int def); int ini_get_bool(char *section, char *key, int def);
bool ini_is_set(char *ini_section, char *ini_key);
void free_ini(void); void free_ini(void);
void cmdline_load(int argc, char *argv[]); void cmdline_load(int argc, char *argv[]);
@ -17,6 +18,7 @@ char *cmdline_get_string(char *key, const char *def, char *description);
int cmdline_get_int(char *key, int def, char *description); int cmdline_get_int(char *key, int def, char *description);
double cmdline_get_double(char *key, double def, char *description); double cmdline_get_double(char *key, double def, char *description);
int cmdline_get_bool(char *key, int def, char *description); int cmdline_get_bool(char *key, int def, char *description);
bool cmdline_is_set(char *key);
char *cmdline_create_usage(void); char *cmdline_create_usage(void);
char *option_get_string(char *ini_section, char *ini_key, char *cmdline_key, char *option_get_string(char *ini_section, char *ini_key, char *cmdline_key,

View File

@ -38,7 +38,7 @@ static enum markup_mode parse_markup_mode(const char *mode)
return MARKUP_STRIP; return MARKUP_STRIP;
} else if (strcmp(mode, "no") == 0) { } else if (strcmp(mode, "no") == 0) {
return MARKUP_NO; return MARKUP_NO;
} else if (strcmp(mode, "full") == 0) { } else if (strcmp(mode, "full") == 0 || strcmp(mode, "yes")) {
return MARKUP_FULL; return MARKUP_FULL;
} else { } else {
fprintf(stderr, "Warning: unknown markup mode: \"%s\"\n", mode); fprintf(stderr, "Warning: unknown markup mode: \"%s\"\n", mode);
@ -103,6 +103,8 @@ void load_settings(char *cmdline_config_path)
); );
{ {
//If markup isn't set, fall back to allow_markup for backwards compatibility
if(ini_is_set("global", "markup") || cmdline_is_set("-markup")) {
char *c = option_get_string( char *c = option_get_string(
"global", "global",
"markup", "-markup", markup, "markup", "-markup", markup,
@ -111,6 +113,16 @@ void load_settings(char *cmdline_config_path)
settings.markup = parse_markup_mode(c); settings.markup = parse_markup_mode(c);
free(c); free(c);
} else if (ini_is_set("global", "allow_markup") || cmdline_is_set("-allow_markup")) {
bool allow_markup = option_get_bool(
"global",
"allow_markup", "-allow_markup", false,
"Specify how markup should be handled"
);
settings.markup = (allow_markup ? MARKUP_FULL : MARKUP_STRIP);
fprintf(stderr, "Warning: 'allow_markup' is deprecated, please use 'markup' instead.\n");
}
} }
settings.format = option_get_string( settings.format = option_get_string(