mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
/SCRIPT LOAD modifies the script name so that all non-alphanumeric
characters are translated to '_' char .. now this behaviour is done also when /SCRIPT UNLOAD is done, so people don't get confused why their "test-1" script can't be unloaded. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2145 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
ed4d24b282
commit
ba445fe37e
@ -165,11 +165,11 @@ void perl_scripts_deinit(void)
|
|||||||
my_perl = NULL;
|
my_perl = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *script_file_get_name(const char *path)
|
/* Modify the script name so that all non-alphanumeric characters are
|
||||||
|
translated to '_' */
|
||||||
|
void script_fix_name(char *name)
|
||||||
{
|
{
|
||||||
char *name, *ret, *p;
|
char *ret, *p;
|
||||||
|
|
||||||
ret = name = g_strdup(g_basename(path));
|
|
||||||
|
|
||||||
p = strrchr(name, '.');
|
p = strrchr(name, '.');
|
||||||
if (p != NULL) *p = '\0';
|
if (p != NULL) *p = '\0';
|
||||||
@ -179,8 +179,15 @@ static char *script_file_get_name(const char *path)
|
|||||||
*name = '_';
|
*name = '_';
|
||||||
name++;
|
name++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
static char *script_file_get_name(const char *path)
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
|
||||||
|
name = g_strdup(g_basename(path));
|
||||||
|
script_fix_name(name);
|
||||||
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *script_data_get_name(void)
|
static char *script_data_get_name(void)
|
||||||
|
@ -31,6 +31,9 @@ PERL_SCRIPT_REC *perl_script_find_package(const char *package);
|
|||||||
|
|
||||||
/* Returns full path for the script */
|
/* Returns full path for the script */
|
||||||
char *perl_script_get_path(const char *name);
|
char *perl_script_get_path(const char *name);
|
||||||
|
/* Modify the script name so that all non-alphanumeric characters are
|
||||||
|
translated to '_' */
|
||||||
|
void script_fix_name(char *name);
|
||||||
|
|
||||||
/* If core should handle printing script errors */
|
/* If core should handle printing script errors */
|
||||||
void perl_core_print_script_error(int print);
|
void perl_core_print_script_error(int print);
|
||||||
|
@ -104,10 +104,11 @@ static void cmd_script_unload(const char *data)
|
|||||||
if (*name == '\0')
|
if (*name == '\0')
|
||||||
cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
|
cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
|
||||||
|
|
||||||
|
script_fix_name(name);
|
||||||
script = perl_script_find(name);
|
script = perl_script_find(name);
|
||||||
if (script == NULL) {
|
if (script == NULL) {
|
||||||
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR,
|
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR,
|
||||||
TXT_SCRIPT_NOT_LOADED, data);
|
TXT_SCRIPT_NOT_LOADED, name);
|
||||||
} else {
|
} else {
|
||||||
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR,
|
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR,
|
||||||
TXT_SCRIPT_UNLOADED, script->name);
|
TXT_SCRIPT_UNLOADED, script->name);
|
||||||
|
Loading…
Reference in New Issue
Block a user