mirror of
https://github.com/weechat/weechat.git
synced 2026-06-30 23:06:38 +02:00
trigger: do not allow a name starting with "-"
This commit is contained in:
@@ -114,6 +114,13 @@ trigger_command_trigger (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
weechat_prefix ("error"), "trigger");
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
if (argv[2][0] == '-')
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: name can not start with \"-\""),
|
||||
weechat_prefix ("error"), TRIGGER_PLUGIN_NAME);
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
type = trigger_search_hook_type (argv[3]);
|
||||
if (type < 0)
|
||||
{
|
||||
@@ -169,7 +176,8 @@ trigger_command_trigger (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
}
|
||||
if (weechat_strcasecmp (argv[3], "name") == 0)
|
||||
{
|
||||
trigger_rename (ptr_trigger, argv_eol[4]);
|
||||
if (!trigger_rename (ptr_trigger, argv_eol[4]))
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -656,21 +656,33 @@ trigger_new (const char *name, const char *enabled, const char *hook,
|
||||
|
||||
/*
|
||||
* Renames a trigger.
|
||||
*
|
||||
* Returns:
|
||||
* 1: OK
|
||||
* 0: error (trigger not renamed)
|
||||
*/
|
||||
|
||||
void
|
||||
int
|
||||
trigger_rename (struct t_trigger *trigger, const char *name)
|
||||
{
|
||||
int length, i;
|
||||
char *option_name;
|
||||
|
||||
if (!name || !name[0])
|
||||
return;
|
||||
return 0;
|
||||
|
||||
if (name[0] == '-')
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: name can not start with \"-\""),
|
||||
weechat_prefix ("error"), TRIGGER_PLUGIN_NAME);
|
||||
return 0;
|
||||
}
|
||||
|
||||
length = strlen (name) + 64;
|
||||
option_name = malloc (length);
|
||||
if (!option_name)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < TRIGGER_NUM_OPTIONS; i++)
|
||||
{
|
||||
@@ -689,6 +701,8 @@ trigger_rename (struct t_trigger *trigger, const char *name)
|
||||
trigger->name = strdup (name);
|
||||
|
||||
free (option_name);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -122,7 +122,7 @@ extern struct t_trigger *trigger_new (const char *name,
|
||||
const char *replace,
|
||||
const char *command,
|
||||
const char *return_code);
|
||||
extern void trigger_rename (struct t_trigger *trigger, const char *name);
|
||||
extern int trigger_rename (struct t_trigger *trigger, const char *name);
|
||||
extern void trigger_free (struct t_trigger *trigger);
|
||||
extern void trigger_free_all ();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user