X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/29161bbef198d713dfd844fcf3c57e608d972064..3e1b768066a16c4b899b9cbdd7911be883151a05:/newsearch/ns-ip.c diff --git a/newsearch/ns-ip.c b/newsearch/ns-ip.c index e78fb67a..5bd84e5c 100644 --- a/newsearch/ns-ip.c +++ b/newsearch/ns-ip.c @@ -7,21 +7,17 @@ #include #include -#include "../nick/nick.h" +void *ip_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput); +void ip_free(searchCtx *ctx, struct searchNode *thenode); -void *ip_exe(struct searchNode *thenode, int type, void *theinput); -void ip_free(struct searchNode *thenode); - -struct searchNode *ip_parse(int type, int argc, char **argv) { +struct searchNode *ip_parse(searchCtx *ctx, int argc, char **argv) { struct searchNode *thenode; - if (type != SEARCHTYPE_NICK) { - parseError = "ip: this function is only valid for nick searches."; + if (!(thenode=(struct searchNode *)malloc(sizeof (struct searchNode)))) { + parseError = "malloc: could not allocate memory for this search."; return NULL; } - thenode=(struct searchNode *)malloc(sizeof (struct searchNode)); - thenode->returntype = RETURNTYPE_STRING; thenode->localdata = NULL; thenode->exe = ip_exe; @@ -30,17 +26,13 @@ struct searchNode *ip_parse(int type, int argc, char **argv) { return thenode; } -void *ip_exe(struct searchNode *thenode, int type, void *theinput) { +void *ip_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput) { nick *np = (nick *)theinput; - if (type != RETURNTYPE_STRING) { - return (void *)1; - } - - return IPtostr(np->ipaddress); + return (void *)IPtostr(np->ipaddress); } -void ip_free(struct searchNode *thenode) { +void ip_free(searchCtx *ctx, struct searchNode *thenode) { free(thenode); }