addr.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 121 行

C
121
字号
# include "postbox.h"static char SccsId[] = "@(#)addr.c	4.1	7/25/83";/***  PUTONQ -- put an address node on the end of a queue****	Parameters:**		a -- the address to put on the queue.**		q -- the queue to put it on.****	Returns:**		none****	Side Effects:**		none****	Called By:**		alias**		recipient*/putonq(a, q)	register ADDRESS *a;	register ADDRESS *q;{	if (q->q_prev == NULL)	{		q->q_prev = q->q_next = a;		a->q_prev = NULL;	}	else	{		a->q_prev = q->q_prev;		q->q_prev->q_next = a;		q->q_prev = a;	}	a->q_next = NULL;}/***  TKOFFQ -- remove address node from queue****	Takes a node off of a queue, from anyplace in the queue.****	Parameters:**		a -- the node to remove.**		q -- the queue to remove it from.****	Returns:**		none****	Side Effects:**		none****	Called By:**		alias*/tkoffq(a, q)	register ADDRESS *a;	register ADDRESS *q;{	if (a->q_prev != NULL)		a->q_prev->q_next = a->q_next;	else		q->q_next = a->q_next;	if (a->q_next != NULL)		a->q_next->q_prev = a->q_prev;	else		q->q_prev = a->q_prev;}/***  SAMEADDR -- Determine if tow addresses are the same****	This is not just a straight comparison -- if the mailer doesn't**	care about the host we just ignore it, etc.****	Parameters:**		a, b -- pointers to the internal forms to compare.**		wildflg -- if TRUE, 'a' may have no user specified,**			in which case it is to match anything.****	Returns:**		TRUE -- they represent the same mailbox.**		FALSE -- they don't.****	Side Effects:**		none.****	Called By:**		recipient**		alias*/boolsameaddr(a, b, wildflg)	register ADDRESS *a;	register ADDRESS *b;	bool wildflg;{	/* if they don't have the same mailer, forget it */	if (a->q_mailer != b->q_mailer)		return (FALSE);	/* if the user isn't the same, we can drop out */	if ((!wildflg || a->q_user[0] != '\0') && strcmp(a->q_user, b->q_user) != 0)		return (FALSE);	/* if the mailer ignores hosts, we have succeeded! */	if (bitset(M_NOHOST, Mailer[a->q_mailer]->m_flags))		return (TRUE);	/* otherwise compare hosts (but be careful for NULL ptrs) */	if (a->q_host == NULL || b->q_host == NULL)		return (FALSE);	if (strcmp(a->q_host, b->q_host) != 0)		return (FALSE);	return (TRUE);}

⌨️ 快捷键说明

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