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
This commit is contained in:
Emanuele Giaquinta 2007-04-29 11:20:36 +00:00 committed by exg
commit 983ee1db88
3 changed files with 26 additions and 20 deletions

View file

@ -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)