diff options
author | Emanuele Giaquinta <exg@irssi.org> | 2007-04-29 11:20:36 +0000 |
---|---|---|
committer | exg <exg@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2007-04-29 11:20:36 +0000 |
commit | 983ee1db888e8f478990ac900ce01cfefe30c890 (patch) | |
tree | d58ee78680258feb12ab96039a393b7784db1c54 /src/core/settings.c | |
parent | 09f2bf2c058da1e6dd57d67d71f45f2477dc5209 (diff) | |
download | irssi-983ee1db888e8f478990ac900ce01cfefe30c890.zip |
Factor out code from set_print into a function to get a printable
representation of a setting.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4470 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/core/settings.c')
-rw-r--r-- | src/core/settings.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/core/settings.c b/src/core/settings.c index 2f32ac92..3adc14a4 100644 --- a/src/core/settings.c +++ b/src/core/settings.c @@ -148,6 +148,27 @@ int settings_get_size(const char *key) return str == NULL ? 0 : bytes; } +char *settings_get_print(SETTINGS_REC *rec) +{ + char *value; + + switch(rec->type) { + case SETTING_TYPE_BOOLEAN: + value = g_strdup(settings_get_bool(rec->key) ? "ON" : "OFF"); + break; + case SETTING_TYPE_INT: + value = g_strdup_printf("%d", settings_get_int(rec->key)); + break; + case SETTING_TYPE_STRING: + case SETTING_TYPE_TIME: + case SETTING_TYPE_LEVEL: + case SETTING_TYPE_SIZE: + value = g_strdup(settings_get_str(rec->key)); + break; + } + return value; +} + static void settings_add(const char *module, const char *section, const char *key, SettingType type, const SettingValue *default_value) |