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

📄 m_remsg.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
/* m_remsg.c - realloc a msgs structure */#include "../h/mh.h"#include <stdio.h>struct msgs *m_remsg (mp, lo, hi)register struct msgs *mp;int	lo,	hi;{    int     msgnum;#ifdef	MTR    register short *sp,		   *pp;#endif	MTR    if (lo == 0 && (lo = mp -> lowmsg) == 0)	lo = 1;    if (hi < mp -> hghmsg)	hi = mp -> hghmsg + (MAXFOLDER - mp -> nummsg);    if (hi <= mp -> hghmsg)	hi = mp -> hghmsg + MAXFOLDER;    if (lo == mp -> lowmsg && hi == mp -> hghmsg)	return mp;#ifndef	MTR    mp = (struct msgs  *) realloc ((char *) mp, MSIZE (mp, lo, hi));    if (mp == NULL)	adios (NULLCP, "unable to re-allocate folder storage");#else	MTR    if ((sp = (short *) calloc ((unsigned) 1, MSIZEX (mp, lo, hi))) == NULL)	adios (NULLCP, "unable to re-allocate messages storage");    pp = sp - lo;    if (pp < (short *)0)	adios (NULLCP, "m_remsg() botch -- you lose big[1]");    for (msgnum = mp -> lowmsg; msgnum <= mp -> hghmsg; msgnum++)	pp[msgnum] = mp -> msgstats[msgnum];    free ((char *) mp -> msgbase);    mp -> msgstats = sp;#endif	MTR    mp -> lowoff = lo;    mp -> hghoff = hi;#ifdef	MTR    mp -> msgstats = (mp -> msgbase = mp -> msgstats) - mp -> lowoff;    if (mp -> msgstats < (short *)0)	adios (NULLCP, "m_remsg() botch -- you lose big[2]");#endif	MTR    for (msgnum = mp -> lowmsg - 1; msgnum >= lo; msgnum--)	mp -> msgstats[msgnum] = NULL;    for (msgnum = mp -> hghmsg + 1; msgnum <= hi; msgnum++)	mp -> msgstats[msgnum] = NULL;    return mp;}

⌨️ 快捷键说明

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