]> jfr.im git - irc/quakenet/newserv.git/blobdiff - newsearch/newsearch.c
merge
[irc/quakenet/newserv.git] / newsearch / newsearch.c
index 50d7aabe38c7bebfdc3c3518445aa91f3c4b18c3..0e9879957b293f45412c31f495ab3f2599396d7e 100644 (file)
@@ -99,7 +99,7 @@ void displaycommandhelp(nick *np, Command *cmd) {
     }
 
     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) {
@@ -112,7 +112,7 @@ void displaycommandhelp(nick *np, Command *cmd) {
     }
 
     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++) {
@@ -173,19 +173,19 @@ void _init() {
   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 */
@@ -217,7 +217,10 @@ void _init() {
   
   /* 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");
@@ -349,7 +352,7 @@ static void controlwallwrapper(int level, char *format, ...) {
   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;
@@ -382,7 +385,7 @@ int parseopts(int cargc, char **cargv, int *arg, int *limit, void **subset, void
           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;
 
@@ -435,7 +438,7 @@ int do_nicksearch_real(replyFunc reply, wallFunc wall, void *source, int cargc,
     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;
 
@@ -525,7 +528,7 @@ int do_chansearch_real(replyFunc reply, wallFunc wall, void *source, int cargc,
     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;
 
@@ -593,7 +596,7 @@ int do_usersearch_real(replyFunc reply, wallFunc wall, void *source, int cargc,
     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;