rcvpack.c

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

C
88
字号
/* rcvpack.c - a rcvmail program to keep a copy */#include "../h/mh.h"#include "../h/dropsbr.h"#include "../h/rcvmail.h"#include "../zotnet/tws.h"#include "../zotnet/mts.h"/*  */static struct swit switches[] = {#define	HELPSW	0    "help", 4,    NULL, NULL};/*  */long	lseek ();/*  *//* ARGSUSED */main (argc, argv)int     argc;char  **argv;{    int     md;    char   *cp,           *file = NULL,            buf[100],	    ddate[BUFSIZ],          **ap,          **argp,           *arguments[MAXARGS];    invo_name = r1bindex (argv[0], '/');    mts_init (invo_name);    if ((cp = m_find (invo_name)) != NULL) {	ap = brkstring (cp = getcpy (cp), " ", "\n");	ap = copyip (ap, arguments);    }    else	ap = arguments;    (void) copyip (argv + 1, ap);    argp = arguments;/*  */    while (cp = *argp++) {	if (*cp == '-')	    switch (smatch (++cp, switches)) {		case AMBIGSW: 		    ambigsw (cp, switches);		    done (1);		case UNKWNSW: 		    adios (NULLCP, "-%s unknown", cp);		case HELPSW: 		    (void) sprintf (buf, "%s [switches] file", invo_name);		    help (buf, switches);		    done (1);	    }	if (file)	    adios (NULLCP, "only one file at a time!");	else	    file = cp;    }/*  */    if (!file)	adios (NULLCP, "%s [switches] file", invo_name);    (void) sprintf (ddate, "Delivery-Date: %s\n", dtimenow ());    rewind (stdin);    if ((md = mbx_open (file, getuid (), getgid (), m_gmprot ())) == NOTOK	    || mbx_copy (file, md, fileno (stdin), 1, ddate, 0) == NOTOK	    || mbx_close (file, md) == NOTOK) {	if (md != NOTOK)	    (void) mbx_close (file, md);	done (RCV_MBX);    }    done (RCV_MOK);}

⌨️ 快捷键说明

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