summaryrefslogtreecommitdiff
path: root/src/fe-common/core/fe-settings.c
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-06-18 01:18:12 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-06-18 01:18:12 +0000
commita5d31a195d1e3b682cd57d88a5db7ef0ffa5d492 (patch)
treee5c335b77da2d17293e87debeb17ab4c966e34c4 /src/fe-common/core/fe-settings.c
parentca4226cca692ee96109a46b3a1d381ac0d37cb6f (diff)
downloadirssi-a5d31a195d1e3b682cd57d88a5db7ef0ffa5d492.zip
Changed option handling in /commands. Irssi will now complain about
unknown options and missing option arguments. Renamed /SERVER -add, -remove and -list to /SERVER ADD, REMOVE and LIST. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@365 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-common/core/fe-settings.c')
-rw-r--r--src/fe-common/core/fe-settings.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/fe-common/core/fe-settings.c b/src/fe-common/core/fe-settings.c
index f05faad0..299f437e 100644
--- a/src/fe-common/core/fe-settings.c
+++ b/src/fe-common/core/fe-settings.c
@@ -66,10 +66,12 @@ static void set_boolean(const char *key, const char *value)
static void cmd_set(char *data)
{
GSList *sets, *tmp;
- char *params, *key, *value, *last_section;
+ char *key, *value, *last_section;
+ void *free_arg;
int found;
- params = cmd_get_params(data, 2 | PARAM_FLAG_GETREST, &key, &value);
+ if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &key, &value))
+ return;
last_section = ""; found = 0;
sets = settings_get_sorted();
@@ -110,15 +112,17 @@ static void cmd_set(char *data)
if (!found)
printtext(NULL, NULL, MSGLEVEL_CLIENTERROR, "Unknown setting %s", key);
- g_free(params);
+ cmd_params_free(free_arg);
}
static void cmd_toggle(const char *data)
{
- char *params, *key, *value;
+ char *key, *value;
+ void *free_arg;
int type;
- params = cmd_get_params(data, 2 | PARAM_FLAG_GETREST, &key, &value);
+ if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &key, &value))
+ return;
type = settings_get_type(key);
if (type == -1)
@@ -130,7 +134,7 @@ static void cmd_toggle(const char *data)
set_print(settings_get_record(key));
}
- g_free(params);
+ cmd_params_free(free_arg);
}
static void show_aliases(const char *alias)
@@ -173,11 +177,14 @@ static void alias_remove(const char *alias)
static void cmd_alias(const char *data)
{
- char *params, *alias, *value;
+ char *alias, *value;
+ void *free_arg;
g_return_if_fail(data != NULL);
- params = cmd_get_params(data, 2 | PARAM_FLAG_GETREST, &alias, &value);
+ if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &alias, &value))
+ return;
+
if (*alias == '-') {
if (alias[1] != '\0') alias_remove(alias+1);
} else if (*alias == '\0' || *value == '\0')
@@ -186,7 +193,7 @@ static void cmd_alias(const char *data)
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_ALIAS_ADDED, alias);
iconfig_set_str("aliases", alias, value);
}
- g_free(params);
+ cmd_params_free(free_arg);
}
static void cmd_unalias(const char *data)