1
0
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:
Timo Sirainen 2001-11-25 16:17:44 +00:00 committed by cras
parent ed4d24b282
commit ba445fe37e
3 changed files with 17 additions and 6 deletions

View File

@ -165,11 +165,11 @@ void perl_scripts_deinit(void)
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;
ret = name = g_strdup(g_basename(path));
char *ret, *p;
p = strrchr(name, '.');
if (p != NULL) *p = '\0';
@ -179,8 +179,15 @@ static char *script_file_get_name(const char *path)
*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)

View File

@ -31,6 +31,9 @@ PERL_SCRIPT_REC *perl_script_find_package(const char *package);
/* Returns full path for the script */
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 */
void perl_core_print_script_error(int print);

View File

@ -104,10 +104,11 @@ static void cmd_script_unload(const char *data)
if (*name == '\0')
cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
script_fix_name(name);
script = perl_script_find(name);
if (script == NULL) {
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR,
TXT_SCRIPT_NOT_LOADED, data);
TXT_SCRIPT_NOT_LOADED, name);
} else {
printformat(NULL, NULL, MSGLEVEL_CLIENTERROR,
TXT_SCRIPT_UNLOADED, script->name);