Mercurial > pidgin.yaz
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 } |