⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m_seq.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
/* m_seq.c - print out a message sequence */#include "../h/mh.h"#include <stdio.h>/* new version from VJ 2/90 - faster? */char *m_seq(mp, cp)	struct msgs *mp;	char *cp;{	int mask;	register int i, j;	register char *bp;	static char buffer[BUFSIZ*2];	/* for big sequences */	if (strcmp(current, cp) == 0) {		if (mp->curmsg) {			(void) sprintf(buffer, "%s", m_name(mp->curmsg));			return (buffer);		} else			return (NULL);	}	for (i = 0; mp->msgattrs[i]; i++)		if (strcmp(mp->msgattrs[i], cp) == 0)			break;		if (! mp->msgattrs[i])		return (NULL);	mask = EXISTS | (1 << (FFATTRSLOT + i));	bp = buffer;	for (i = mp->lowmsg; i <= mp->hghmsg; ++i) {		if ((mp->msgstats[i] & mask) != mask)			continue;		if (bp > buffer)			*bp++ = ' ';		(void) sprintf(bp, "%s", m_name(i));		bp += strlen(bp);		j = i;		for (++i; i <= mp->hghmsg && (mp->msgstats[i] & mask) == mask;		     ++i)			;		if (i - j > 1) {			(void) sprintf(bp, "-%s", m_name(i - 1));			bp += strlen(bp);		}	}	return (bp > buffer? buffer : NULL);}

⌨️ 快捷键说明

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