]>
jfr.im git - irc/quakenet/newserv.git/blob - newsearch/ns-timestamp.c
2 * TIMESTAMP functionality
10 #include "../irc/irc_config.h"
11 #include "../lib/irc_string.h"
13 void *timestamp_exe(searchCtx
*ctx
, struct searchNode
*thenode
, void *theinput
);
14 void timestamp_free(searchCtx
*ctx
, struct searchNode
*thenode
);
16 struct searchNode
*timestamp_parse(searchCtx
*ctx
, int type
, int argc
, char **argv
) {
17 struct searchNode
*thenode
;
19 if ((type
!= SEARCHTYPE_NICK
) && (type
!= SEARCHTYPE_CHANNEL
)){
20 parseError
= "timestamp: this function is only valid for nick or channel searches.";
24 if (!(thenode
=(struct searchNode
*)malloc(sizeof (struct searchNode
)))) {
25 parseError
= "malloc: could not allocate memory for this search.";
29 thenode
->returntype
= RETURNTYPE_INT
;
30 thenode
->localdata
= (void *)(long)type
;
31 thenode
->exe
= timestamp_exe
;
32 thenode
->free
= timestamp_free
;
37 void *timestamp_exe(searchCtx
*ctx
, struct searchNode
*thenode
, void *theinput
) {
38 nick
*np
= (nick
*)theinput
;
39 chanindex
*cip
= (chanindex
*)theinput
;
41 if ((long)thenode
->localdata
== SEARCHTYPE_NICK
) {
42 return (void *)np
->timestamp
;
45 return (void *)cip
->channel
->timestamp
;
51 void timestamp_free(searchCtx
*ctx
, struct searchNode
*thenode
) {