src/protocols/zephyr/ZIfNotice.c

branch
cpw.khc.msnp14
changeset 20472
6a6d2ef151e6
parent 13912
463b4fa9f067
parent 20469
b2836a24d81e
child 20473
91e1b3a49d10
--- a/src/protocols/zephyr/ZIfNotice.c	Wed Oct 18 16:28:51 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/* This file is part of the Project Athena Zephyr Notification System.
- * It contains source for the ZIfNotice function.
- *
- *	Created by:	Robert French
- *
- *	Copyright (c) 1987,1988 by the Massachusetts Institute of Technology.
- *	For copying and distribution information, see the file
- *	"mit-copyright.h". 
- */
-
-#include "internal.h"
-
-Code_t ZIfNotice(notice, from, predicate, args)
-    ZNotice_t *notice;
-    struct sockaddr_in *from;
-    int (*predicate) __P((ZNotice_t *, void *));
-    void *args;
-{
-    ZNotice_t tmpnotice;
-    Code_t retval;
-    char *buffer;
-    struct _Z_InputQ *qptr;
-
-    if ((retval = Z_WaitForComplete()) != ZERR_NONE)
-	return (retval);
-	
-    qptr = Z_GetFirstComplete();
-    
-    for (;;) {
-	while (qptr) {
-	    if ((retval = ZParseNotice(qptr->packet, qptr->packet_len, 
-				       &tmpnotice)) != ZERR_NONE)
-		return (retval);
-	    if ((*predicate)(&tmpnotice, args)) {
-		if (!(buffer = (char *) malloc((unsigned) qptr->packet_len)))
-		    return (ENOMEM);
-		(void) memcpy(buffer, qptr->packet, qptr->packet_len);
-		if (from)
-		    *from = qptr->from;
-		if ((retval = ZParseNotice(buffer, qptr->packet_len, 
-					   notice)) != ZERR_NONE) {
-		    free(buffer);
-		    return (retval);
-		}
-		Z_RemQueue(qptr);
-		return (ZERR_NONE);
-	    }
-	    qptr = Z_GetNextComplete(qptr);
-	}
-	if ((retval = Z_ReadWait()) != ZERR_NONE)
-	    return (retval);
-	qptr = Z_GetFirstComplete();	/* need to look over all of
-					   the queued messages, in case
-					   a fragment has been reassembled */
-    }
-}

mercurial