diff options
author | James Booth <boothj5@gmail.com> | 2014-01-25 01:39:12 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-01-25 01:39:12 +0000 |
commit | 4bd06a5d8748b0096845cecd2ad24da7a194aff0 (patch) | |
tree | f2d24d2a31e2625d9785371e64a40259fe829f21 /src/command/commands.c | |
parent | 17f40b76ee829c806bbd995aed73c3c7531beb26 (diff) | |
download | profani-tty-4bd06a5d8748b0096845cecd2ad24da7a194aff0.tar.gz |
Don't allow /alias to overwrite standard command
Diffstat (limited to 'src/command/commands.c')
-rw-r--r-- | src/command/commands.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index 76f85210..b282f525 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1830,21 +1830,24 @@ cmd_alias(gchar **args, struct cmd_help_t help) cons_show("Usage: %s", help.usage); return TRUE; } else { + GString *ac_value = g_string_new("/"); + g_string_append(ac_value, alias); + char *value = args[2]; if (value == NULL) { cons_show("Usage: %s", help.usage); + g_string_free(ac_value, TRUE); + return TRUE; + } else if (cmd_exists(ac_value->str)) { + cons_show("Command or alias '%s' already exists."); + g_string_free(ac_value, TRUE); return TRUE; } else { - if (prefs_add_alias(alias, value) == TRUE) { - GString *ac_value = g_string_new("/"); - g_string_append(ac_value, alias); - cmd_autocomplete_add(ac_value->str); - cmd_alias_add(alias); - g_string_free(ac_value, TRUE); - cons_show("Command alias added /%s -> %s", alias, value); - } else { - cons_show("Command alias /%s already exists.", alias); - } + prefs_add_alias(alias, value); + cmd_autocomplete_add(ac_value->str); + cmd_alias_add(alias); + cons_show("Command alias added /%s -> %s", alias, value); + g_string_free(ac_value, TRUE); return TRUE; } } |