static int script_channel_mask_list(script_var_t *retval, char *chan_name, char *type) { channel_t *chan; channel_mask_t *m; channel_mask_list_t *l; retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR; retval->len = 0; chan = channel_probe(chan_name, 0); if (!chan) return(-1); l = channel_get_mask_list(chan, type[0]); if (!l) return(-1); for (m = l->head; m; m = m->next) { script_list_append(retval, script_list(3, script_string(m->mask, -1), script_string(m->set_by, -1), script_int(m->time) ) ); } return(0); }
static int script_listmask(void *type, script_var_t *retval, char *channel_name) { script_var_t *mlist; struct chanset_t *chan = NULL; struct maskrec *m, *masks; retval->type = SCRIPT_ARRAY | SCRIPT_VAR | SCRIPT_FREE; retval->len = 0; if (channel_name) { chan = findchan_by_dname(channel_name); if (!chan) return(-1); } if ((int) type == 'b') masks = (chan ? chan->bans : global_bans); else if ((int) type == 'I') masks = (chan ? chan->invites : global_invites); else if ((int) type == 'e') masks = (chan ? chan->exempts : global_exempts); else return(-1); for (m = masks; m; m = m->next) { mlist = script_list(6, script_string(m->mask, -1), script_string(m->desc, -1), script_int(m->expire), script_int(m->added), script_int(m->lastactive), script_string(m->user, -1) ); script_list_append(retval, mlist); } return(0); }
static int script_channel_info(script_var_t *retval) { int i; channel_flag_map_t *flag_map; struct udef_struct *ul; retval->type = SCRIPT_ARRAY | SCRIPT_VAR | SCRIPT_FREE; retval->len = 0; for (i = 0; channel_info_names[i]; i++) { script_list_append(retval, script_string(channel_info_names[i], -1)); } for (flag_map = normal_flag_map; flag_map->name; flag_map++) { script_list_append(retval, script_string(flag_map->name, -1)); } for (flag_map = stupid_ircnet_flag_map; flag_map->name; flag_map++) { script_list_append(retval, script_string(flag_map->name, -1)); } for (ul = udef; ul; ul = ul->next) { /* If it's undefined, skip it. */ if (!ul->defined || !ul->name) continue; script_list_append(retval, script_string(ul->name, -1)); } return(0); }
static int script_server_list(script_var_t *retval) { server_t *s; retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR; retval->len = 0; for (s = server_list; s; s = s->next) { script_list_append(retval, script_list(3, script_string(s->host, -1), script_string(s->pass, -1), script_int(s->port))); } return(0); }
static int script_channel_topic(script_var_t *retval, char *chan_name) { channel_t *chan; retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR; retval->len = 0; chan = channel_probe(chan_name, 0); if (!chan) return(-1); script_list_append(retval, script_string(chan->topic, -1)); script_list_append(retval, script_string(chan->topic_nick, -1)); script_list_append(retval, script_int(chan->topic_time)); return(0); }
void script_line( const char *s ) { /* Write string */ script_string( s ); /* Write new line */ script_new_line( ); } /* script_line */
static int script_channels(script_var_t *retval) { struct chanset_t *chan; retval->type = SCRIPT_ARRAY | SCRIPT_VAR | SCRIPT_FREE; retval->len = 0; for (chan = chanset; chan; chan = chan->next) { script_list_append(retval, script_string(chan->dname, -1)); } return(0); }
static int script_channel_list(script_var_t *retval) { channel_t *chan; retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR; retval->len = 0; for (chan = channel_head; chan; chan = chan->next) { script_list_append(retval, script_string(chan->name, -1)); } return(0); }
static int script_channel_members(script_var_t *retval, char *chan_name) { channel_t *chan; channel_member_t *m; retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR; retval->len = 0; chan = channel_probe(chan_name, 0); if (!chan) return(-1); for (m = chan->member_head; m; m = m->next) { script_list_append(retval, script_string(m->nick, -1)); } return(0); }