diff options
Diffstat (limited to 'src/protocol')
| -rw-r--r-- | src/protocol/unreal32.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/protocol/unreal32.c b/src/protocol/unreal32.c index 8ecfc90e9..77c618184 100644 --- a/src/protocol/unreal32.c +++ b/src/protocol/unreal32.c @@ -489,8 +489,7 @@ void unreal_set_umode(User * user, int ac, char **av) } break; case 'x': - if (!add) - { + if (!add) { if (user->vhost) free(user->vhost); user->vhost = NULL; @@ -1403,7 +1402,13 @@ int anope_event_sethost(char *source, int ac, char **av) return MOD_CONT; } - change_user_host(u, av[0]); + if (u->mode & UMODE_x) + change_user_host(u, av[0]); + else { + if (u->chost) + free(u->chost); + u->chost = sstrdup(av[0]); + } return MOD_CONT; } |
