comparison libpurple/protocols/zephyr/ZRecvNot.c @ 15374:5fe8042783c1

Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author Sean Egan <seanegan@gmail.com>
date Sat, 20 Jan 2007 02:32:10 +0000
parents
children a8cc50c2279f
comparison
equal deleted inserted replaced
15373:f79e0f4df793 15374:5fe8042783c1
1 /* This file is part of the Project Athena Zephyr Notification System.
2 * It contains source for ZReceiveNotice function.
3 *
4 * Created by: Robert French
5 *
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 */
10
11 #include "internal.h"
12
13 Code_t ZReceiveNotice(notice, from)
14 ZNotice_t *notice;
15 struct sockaddr_in *from;
16 {
17 char *buffer;
18 struct _Z_InputQ *nextq;
19 int len, auth;
20 Code_t retval;
21
22 if ((retval = Z_WaitForComplete()) != ZERR_NONE)
23 return (retval);
24
25 nextq = Z_GetFirstComplete();
26
27 if (!nextq)
28 return (ENOMEM);
29
30 len = nextq->packet_len;
31
32 if (!(buffer = (char *) malloc((unsigned) len)))
33 return (ENOMEM);
34
35 if (from)
36 *from = nextq->from;
37
38 (void) memcpy(buffer, nextq->packet, len);
39
40 auth = nextq->auth;
41 Z_RemQueue(nextq);
42
43 if ((retval = ZParseNotice(buffer, len, notice)) != ZERR_NONE)
44 return (retval);
45 notice->z_checked_auth = auth;
46 return ZERR_NONE;
47 }