Replace functions which called once with their bodies
[pidgin-git.git] / libpurple / protocols / zephyr / ZRecvNot.c
blobc426f57dfcf17d8564238f21b2bb4de2fde3d140
1 /* This file is part of the Project Athena Zephyr Notification System.
2 * It contains source for ZReceiveNotice function.
4 * Created by: Robert French
6 * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology.
7 * For copying and distribution information, see the file
8 * "mit-copyright.h".
9 */
11 #include "internal.h"
13 Code_t ZReceiveNotice(notice, from)
14 ZNotice_t *notice;
15 struct sockaddr_in *from;
17 char *buffer;
18 struct _Z_InputQ *nextq;
19 int len, auth;
20 Code_t retval;
22 if ((retval = Z_WaitForComplete()) != ZERR_NONE)
23 return (retval);
25 nextq = Z_GetFirstComplete();
27 if (!nextq)
28 return (ENOMEM);
30 len = nextq->packet_len;
32 if (!(buffer = (char *) malloc((unsigned) len)))
33 return (ENOMEM);
35 if (from)
36 *from = nextq->from;
38 (void) memcpy(buffer, nextq->packet, len);
40 auth = nextq->auth;
41 Z_RemQueue(nextq);
43 if ((retval = ZParseNotice(buffer, len, notice)) != ZERR_NONE)
44 return (retval);
45 notice->z_checked_auth = auth;
46 return ZERR_NONE;