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

📄 m_remsg.c

📁 早期freebsd实现
💻 C
字号:
/* m_remsg.c - realloc a msgs structure */#ifndef	lintstatic char ident[] = "@(#)$Id: m_remsg.c,v 1.8 1992/12/15 00:20:22 jromine Exp $";#endif	/* lint */#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 int   *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, MHSIZE (mp, lo, hi));    if (mp == NULL)	adios (NULLCP, "unable to re-allocate folder storage");#else	/* MTR */    if ((sp = (int *) calloc ((unsigned) 1, MHSIZEX (mp, lo, hi))) == NULL)	adios (NULLCP, "unable to re-allocate messages storage");    pp = sp - lo;    if (pp < (int *)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 < (int *)0)	adios (NULLCP, "m_remsg() botch -- you lose big[2]");#endif	/* MTR */    for (msgnum = mp -> lowmsg - 1; msgnum >= lo; msgnum--)	mp -> msgstats[msgnum] = 0;    for (msgnum = mp -> hghmsg + 1; msgnum <= hi; msgnum++)	mp -> msgstats[msgnum] = 0;    return mp;}

⌨️ 快捷键说明

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