addcommandtotree(searchCmdTree, name, 0, 0, (CommandHandler)acmd);
for (sl=globalterms; sl; sl=sl->next) {
- registersearchterm( acmd, sl->name->content, sl->cmd, 0, sl->help);
+ addcommandexttotree(acmd->searchtree, sl->name->content, 0, 1, (CommandHandler)sl->cmd, sl->help);
}
return acmd;
deregistercontrolcmd(scmd->name->content, (CommandHandler)scmd->handler);
destroycommandtree(scmd->outputtree);
destroycommandtree(scmd->searchtree);
+ deletecommandfromtree(searchCmdTree, scmd->name->content, (CommandHandler) scmd);
freesstring(scmd->name);
free(scmd);
}
}
controlreply(np, " \n");
- controlreply(np, "Available Global Search Terms:\n" );
+ controlreply(np, "Available Global Commands and Operators:\n" );
m=getcommandlist(acmd->searchtree,acmdlist,100);
for(j=0;j<m;j++) {
if ( acmdlist[j]->maxparams) {
}
controlreply(np, " \n");
- controlreply(np, "Available Search Terms for %s:\n", acmd->name->content);
+ controlreply(np, "Available Commands and Operators for %s:\n", acmd->name->content);
m=getcommandlist(acmd->searchtree,acmdlist,100);
for(j=0;j<m;j++) {
registerglobalsearchterm("length",length_parse, "usage: (length string)");
/* Nickname operations */
- registersearchterm(reg_nicksearch, "hostmask",hostmask_parse, 0, "Users host mask, allow \"hostmask real\" to match realhost"); /* nick only */
- registersearchterm(reg_nicksearch, "realname",realname_parse, 0, "Users current realname"); /* nick only */
- registersearchterm(reg_nicksearch, "authname",authname_parse, 0, "Users current authname or false"); /* nick only */
- registersearchterm(reg_nicksearch, "authts",authts_parse, 0, "Users Auth timestamp"); /* nick only */
- registersearchterm(reg_nicksearch, "ident",ident_parse, 0, "Users current ident"); /* nick only */
- registersearchterm(reg_nicksearch, "host",host_parse, 0, "Users host, allow \"host real\" to match real host"); /* nick only */
+ registersearchterm(reg_nicksearch, "hostmask",hostmask_parse, 0, "The user's nick!user@host; \"hostmask real\" returns nick!user@host\rreal"); /* nick only */
+ registersearchterm(reg_nicksearch, "realname",realname_parse, 0, "User's current realname"); /* nick only */
+ registersearchterm(reg_nicksearch, "authname",authname_parse, 0, "User's current authname or false"); /* nick only */
+ registersearchterm(reg_nicksearch, "authts",authts_parse, 0, "User's Auth timestamp"); /* nick only */
+ registersearchterm(reg_nicksearch, "ident",ident_parse, 0, "User's current ident"); /* nick only */
+ registersearchterm(reg_nicksearch, "host",host_parse, 0, "User's host, allow \"host real\" to match real host"); /* nick only */
registersearchterm(reg_nicksearch, "channel",channel_parse, 0, "Valid Channel Name to match users against"); /* nick only */
- registersearchterm(reg_nicksearch, "timestamp",timestamp_parse, 0, "Users Timestamp"); /* nick only */
+ registersearchterm(reg_nicksearch, "timestamp",timestamp_parse, 0, "User's Timestamp"); /* nick only */
registersearchterm(reg_nicksearch, "country",country_parse, 0, "2 letter country code (data source is geoip)"); /* nick only */
- registersearchterm(reg_nicksearch, "ip",ip_parse, 0, "Users IP - ipv4 or ipv6 format as appropriate. Note: not 6to4"); /* nick only */
+ registersearchterm(reg_nicksearch, "ip",ip_parse, 0, "User's IP - ipv4 or ipv6 format as appropriate. Note: not 6to4"); /* nick only */
registersearchterm(reg_nicksearch, "channels",channels_parse, 0, "Channel Count"); /* nick only */
registersearchterm(reg_nicksearch, "server",server_parse, 0, "Server Name. Either (server string) or (match (server) string)"); /* nick only */
- registersearchterm(reg_nicksearch, "authid",authid_parse, 0, "Users Auth ID"); /* nick only */
+ registersearchterm(reg_nicksearch, "authid",authid_parse, 0, "User's Auth ID"); /* nick only */
/* Channel operations */
registersearchterm(reg_chansearch, "exists",exists_parse, 0, "Returns if channel exists on network. Note: newserv may store data on empty channels"); /* channel only */
/* Iterable functions */
registersearchterm(reg_nicksearch, "channeliter",channeliter_parse, 0, "Channel Iterable function - usage: (any (channeliter x) (match (var x) #twilight*))"); /* nick only */
-
+
+ /* Functions that work on strings?! */
+ registersearchterm(reg_nicksearch, "cumodes", cumodes_parse, 0, "usage: (cumodes (var x) <modes>)");
+
/* Notice functionality */
registersearchterm(reg_chansearch,"notice",notice_parse, 0, "NOTICE users in newsearch result. Note: evaluation order");
registersearchterm(reg_nicksearch,"notice",notice_parse, 0, "NOTICE users in newsearch result. Note: evaluation order");
va_end(ap);
}
-int parseopts(int cargc, char **cargv, int *arg, int *limit, void **subset, void **display, CommandTree *sl, replyFunc reply, void *sender) {
+int parseopts(int cargc, char **cargv, int *arg, int *limit, void **subset, void *display, CommandTree *sl, replyFunc reply, void *sender) {
char *ch;
Command *cmd;
struct irc_in_addr sin; unsigned char bits;
reply(sender,"Error: Access Denied for output format %s (for help, see help <searchcmd>)", cargv[*arg]);
return CMD_ERROR;
}
- *display=(void *)cmd->handler;
+ *((void **)display)=(void *)cmd->handler;
(*arg)++;
break;
return CMD_OK;
}
- ret = parseopts(cargc, cargv, &arg, &limit, NULL, (void **)&display, reg_nicksearch->outputtree, reply, sender);
+ ret = parseopts(cargc, cargv, &arg, &limit, NULL, (void *)&display, reg_nicksearch->outputtree, reply, sender);
if(ret != CMD_OK)
return ret;
return CMD_OK;
}
- ret = parseopts(cargc, cargv, &arg, &limit, NULL, (void **)&display, reg_chansearch->outputtree, reply, sender);
+ ret = parseopts(cargc, cargv, &arg, &limit, NULL, (void *)&display, reg_chansearch->outputtree, reply, sender);
if(ret != CMD_OK)
return ret;
return CMD_OK;
}
- ret = parseopts(cargc, cargv, &arg, &limit, NULL, (void **)&display, reg_usersearch->outputtree, reply, sender);
+ ret = parseopts(cargc, cargv, &arg, &limit, NULL, (void *)&display, reg_usersearch->outputtree, reply, sender);
if(ret != CMD_OK)
return ret;