Mercurial > pidgin
view src/protocols/zephyr/ZRecvNot.c @ 6179:16e384bb7fbf
[gaim-migrate @ 6664]
Core/UI split the core initialization and shutdown. I think I got all the
bugs worked out. It's looking nice and stable here, but if it causes CVS to
go to hell for everyone.. er, try to fix it or let me know :) I don't have
this in patch form.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 17 Jul 2003 10:35:43 +0000 |
parents | 424a40f12a6c |
children | 43d6c08d7e96 |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for ZReceiveNotice function. * * Created by: Robert French * * $Source$ * $Author: warmenhoven $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ /* $Header$ */ #ifndef lint static char rcsid_ZReceiveNotice_c[] = "$Header$"; #endif #include <internal.h> Code_t ZReceiveNotice(notice, from) ZNotice_t *notice; struct sockaddr_in *from; { char *buffer; struct _Z_InputQ *nextq; int len, auth; Code_t retval; if ((retval = Z_WaitForComplete()) != ZERR_NONE) return (retval); nextq = Z_GetFirstComplete(); len = nextq->packet_len; if (!(buffer = (char *) malloc((unsigned) len))) return (ENOMEM); if (from) *from = nextq->from; (void) memcpy(buffer, nextq->packet, len); auth = nextq->auth; Z_RemQueue(nextq); if ((retval = ZParseNotice(buffer, len, notice)) != ZERR_NONE) return (retval); notice->z_checked_auth = auth; return ZERR_NONE; }