UMODE_DEAF, /* D */
0, /* E */
0, /* F */
- 0, /* G */
+ UMODE_SCALLERID, /* G */
0, /* H */
0, /* I */
0, /* J */
}
}
-static void
-expire_umode_p(void *data)
-{
- struct Client *source_p = data;
- char *parv[4] = {source_p->name, source_p->name, "-p", NULL};
- source_p->localClient->override_timeout_event = NULL;
- user_mode(source_p, source_p, 3, parv);
-}
-
static void
show_other_user_mode(struct Client *source_p, struct Client *target_p)
{
sendto_one_numeric(source_p, RPL_SNOMASK, form_str(RPL_SNOMASK),
construct_snobuf(source_p->snomask));
- if(ConfigFileEntry.expire_override_time && MyClient(source_p) && (source_p->umodes & ~setflags) & UMODE_OVERRIDE)
- {
- source_p->localClient->override_timeout_event =
- rb_event_addonce("expire_override", expire_umode_p, source_p, ConfigFileEntry.expire_override_time);
- }
- else if(MyClient(source_p) && source_p->localClient->override_timeout_event && (setflags & ~source_p->umodes) & UMODE_OVERRIDE)
- {
- rb_event_delete(source_p->localClient->override_timeout_event);
- source_p->localClient->override_timeout_event = NULL;
- }
-
return (0);
}
chptr = mscptr->chptr;
mptr = mode;
+ if(is_owner(mscptr))
+ {
+ *mptr++ = 'a';
+ strcat(modeval, nick);
+ strcat(modeval, " ");
+ }
+
if(is_chanop(mscptr))
{
*mptr++ = 'o';
strcat(modeval, " ");
}
+ if(is_halfop(mscptr))
+ {
+ *mptr++ = 'h';
+ strcat(modeval, nick);
+ strcat(modeval, " ");
+ }
+
if(is_voiced(mscptr))
{
*mptr++ = 'v';