zrecvnot.c

来自「Linux下的多协议即时通讯程序源代码」· C语言 代码 · 共 48 行

C
48
字号
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for ZReceiveNotice 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 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();    if (!nextq)	    return (ENOMEM);    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;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?