亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mhn.c

?? 早期freebsd實現
?? C
?? 第 1 頁 / 共 5 頁
字號:
    if (f1) {	via_mail (f1, f2, f3, f4, f5, f6, f7);	/* NOTREACHED */    }    else	if (f2 || f3 || f4 || f5 || f6 || f7)	    adios (NULLCP, "missing -viamail \"mailpath\" switch");    if (cp = getenv ("MHN")) {	if (fp = fopen (cp, "r")) {	    m_readefs ((struct node **) 0, fp, cp, 0);	    (void) fclose (fp);	}	else	    admonish ("", "unable to read $MHN profile (%s)", cp);    }    if (fp = fopen (cp = libpath ("mhn_defaults"), "r")) {	m_readefs ((struct node **) 0, fp, cp, 0);	(void) fclose (fp);    }    (void) sprintf (buf, "%s-cache", invo_name);    if ((cache_public = m_find (buf)) && *cache_public != '/')	cache_public = NULL;    (void) sprintf (buf, "%s-private-cache", invo_name);    if (!(cache_private = m_find (buf)))	cache_private = ".cache";    cache_private = getcpy (m_maildir (cache_private));    cwdlen = strlen (cwd = getcpy (pwd ()));    (void) sprintf (buf, "%s-storage", invo_name);    dir = getcpy ((cp = m_find (buf)) && *cp ? cp : cwd);    tmp = cp && *cp ? concat (cp, "/", invo_name, NULLCP)		    : add (m_maildir (invo_name), NULLCP);    if (!m_find ("path"))	free (path ("./", TFOLDER));    if (msgp == 1	    && !folder	    && !npart	    && !cachesw	    && !showsw	    && !storesw	    && !ntype	    && !file	    && (cp = getenv ("mhdraft"))	    && strcmp (cp, msgs[0]) == 0) {	build_comp (cp);	/* NOTREACHED */    }    if (file) {	int	stdinP;	if (msgp)	    adios (NULLCP, "only one file at a time!");	if ((cts = (CT *) calloc ((unsigned) 2, sizeof *cts)) == NULL)	    adios (NULLCP, "out of memory");	ctp = cts;	if (stdinP = (strcmp (file, "-") == 0)) {	    char    buffer[BUFSIZ];	    file = add (m_tmpfil (invo_name), NULLCP);	    if ((fp = fopen (file, "w+")) == NULL)		adios (file, "unable to fopen for writing and reading");	    (void) chmod (file, 0600);	    while (fgets (buffer, sizeof buffer, stdin))		(void) fputs (buffer, fp);	    (void) fflush (fp);	    if (ferror (stdin)) {		(void) unlink (file);		adios ("stdin", "error reading");	    }	    if (ferror (fp)) {		(void) unlink (file);		adios (file, "error writing");	    }	    (void) fseek (fp, 0L, 0);	}	else	    if ((fp = fopen (file, "r")) == NULL)		adios (file, "unable to read");	if (ct = get_content (fp, file, 1)) {	    if (stdinP)		ct -> c_unlink = 1;	    ct -> c_fp = NULL;	    if (ct -> c_end == 0L) {		(void) fseek (fp, 0L, 2);		ct -> c_end = ftell (fp);	    }	    if (ct -> c_ctinitfnx && (*ct -> c_ctinitfnx) (ct) == NOTOK)		free_content (ct);	    else		*ctp++ = ct;	}	else	    advise (NULLCP, "unable to decode %s", file);	(void) fclose (fp);	mp = NULL;	goto go_to_it;    }    if (!msgp)	msgs[msgp++] = "cur";    if (!folder)	folder = m_getfolder ();    maildir = m_maildir (folder);    if (chdir (maildir) == NOTOK)	adios (maildir, "unable to change directory to");    if (!(mp = m_gmsg (folder)))	adios (NULLCP, "unable to read folder %s", folder);    if (mp -> hghmsg == 0)	adios (NULLCP, "no messages in %s", folder);    for (msgnum = 0; msgnum < msgp; msgnum++)	if (!m_convert (mp, msgs[msgnum]))	    done (1);    m_setseq (mp);    if ((cts = (CT *) calloc ((unsigned) (mp -> numsel + 1), sizeof *cts))	    == NULL)	adios (NULLCP, "out of memory");    ctp = cts;    for (msgnum = mp -> lowsel; msgnum <= mp -> hghsel; msgnum++)	if (mp -> msgstats[msgnum] & SELECTED) {	    char   *msgnam;	    if ((fp = fopen (msgnam = m_name (msgnum), "r")) == NULL)		adios (msgnam, "unable to read message");	    if (ct = get_content (fp, msgnam, 1)) {		ct -> c_fp = NULL;		if (ct -> c_end == 0L) {		    (void) fseek (fp, 0L, 2);		    ct -> c_end = ftell (fp);		}		if (ct -> c_ctinitfnx && (*ct -> c_ctinitfnx) (ct) == NOTOK)		    free_content (ct);		else		    *ctp++ = ct;	    }	    else		advise (NULLCP, "unable to decode message %s", msgnam);	    (void) fclose (fp);	}go_to_it: ;    if (!*cts)	done (1);    if (!listsw && !showsw && !storesw && !cachesw)	showsw++;/* listsw && showsw		-> user wants per-message listing,				   so delay until showsw processing	  && storesw && sizesw	-> evaluating size will cause more work,				   so delay until after storesw processing */    userrs = 1;    (void) signal (SIGQUIT, quitser);    (void) signal (SIGPIPE, pipeser);    for (ctp = cts; ct = *ctp; ctp++)	if (type_ok (ct, 1)	        && (ct -> c_ctlistfnx		        || ct -> c_ctstorefnx		        || ct -> c_ctshowfnx)) {	    struct	stat st;	    if (!ct -> c_umask)		ct -> c_umask = ~(stat (ct -> c_file, &st) != NOTOK					? (st.st_mode & 0777) : m_gmprot ());	}    if (listsw && !showsw && (!storesw || !sizesw)) {	if (headsw)	    printf (LSTFMT1, "msg", "part", "type/subtype", "size",		    "description");	for (ctp = cts; ct = *ctp; ctp++)	    if (type_ok (ct, 1) && ct -> c_ctlistfnx) {		(void) umask (ct -> c_umask);		(void) (*ct -> c_ctlistfnx) (ct, 1);		if (ct -> c_fp)		    (void) fclose (ct -> c_fp), ct -> c_fp = NULL;		if (ct -> c_ceclosefnx)		    (*ct -> c_ceclosefnx) (ct);	    }	flush_errors ();    }    if (storesw) {	for (ctp = cts; ct = *ctp; ctp++)	    if (type_ok (ct, 1) && ct -> c_ctstorefnx) {		(void) umask (ct -> c_umask);		(void) (*ct -> c_ctstorefnx) (ct, NULLCP);		if (ct -> c_fp)		    (void) fclose (ct -> c_fp), ct -> c_fp = NULL;		if (ct -> c_ceclosefnx)		    (*ct -> c_ceclosefnx) (ct);	    }	flush_errors ();    }    if (cachesw) {	for (ctp = cts; ct = *ctp; ctp++)	    if (type_ok (ct, 1)) {		cache_content (ct);		if (ct -> c_fp)		    (void) fclose (ct -> c_fp), ct -> c_fp = NULL;		if (ct -> c_ceclosefnx)		    (*ct -> c_ceclosefnx) (ct);	    }	flush_errors ();    }    if (listsw && !showsw && storesw && sizesw) {	if (headsw)	    printf (LSTFMT1, "msg", "part", "type/subtype", "size",		    "description");	for (ctp = cts; ct = *ctp; ctp++)	    if (type_ok (ct, 1) && ct -> c_ctlistfnx) {		(void) umask (ct -> c_umask);		(void) (*ct -> c_ctlistfnx) (ct, 1);		if (ct -> c_fp)		    (void) fclose (ct -> c_fp), ct -> c_fp = NULL;		if (ct -> c_ceclosefnx)		    (*ct -> c_ceclosefnx) (ct);	    }	flush_errors ();	listsw = 0;    }    if (showsw)	for (ctp = cts; ct = *ctp; ctp++) {#if defined(BSD42) && !defined(WAITINT)	    union wait status;#else	    int     status;#endif	    TYPESIG (*hstat) (), (*istat) (), (*qstat) (), (*tstat) ();	    if (!type_ok (ct, 0))		continue;	    (void) umask (ct -> c_umask);	    if (listsw) {		if (headsw)		    printf (LSTFMT1, "msg", "part", "type/subtype", "size",			    "description");		if (ct -> c_ctlistfnx)		    (void) (*ct -> c_ctlistfnx) (ct, 1);	    }	    if (!ct -> c_ctshowfnx) {		if (ct -> c_fp)		    (void) fclose (ct -> c_fp), ct -> c_fp = NULL;		if (ct -> c_ceclosefnx)		    (*ct -> c_ceclosefnx) (ct);		continue;	    }	    if (strcmp (formsw, "mhl.null")) {		int	child_id,			i,			vecp;		char   *vec[8];		vecp = 0;		vec[vecp++] = r1bindex (mhlproc, '/');		vec[vecp++] = "-form";		vec[vecp++] = formsw;		vec[vecp++] = "-nobody";		vec[vecp++] = ct -> c_file;		if (nomore)		    vec[vecp++] = "-nomoreproc";		else		    if (progsw) {			vec[vecp++] = "-moreproc";			vec[vecp++] = progsw;		    }		vec[vecp] = NULL;		(void) fflush (stdout);		for (i = 0; (child_id = vfork ()) == NOTOK && i < 5; i++)		    sleep (5);		switch (child_id) {	            case NOTOK:		        adios ("fork", "unable to");			/* NOTREACHED */		    case OK:			(void) execvp (mhlproc, vec);			fprintf (stderr, "unable to exec ");			perror (mhlproc);			_exit (-1);			/* NOTREACHED */		    default:			xpid = -child_id;			break;		}	    }	    else		xpid = 0;	    (void) (*ct -> c_ctshowfnx) (ct, 1, 0);	    if (ct -> c_fp)		(void) fclose (ct -> c_fp), ct -> c_fp = NULL;	    if (ct -> c_ceclosefnx)		(*ct -> c_ceclosefnx) (ct);	    hstat = signal (SIGHUP, SIG_IGN);	    istat = signal (SIGINT, SIG_IGN);	    qstat = signal (SIGQUIT, SIG_IGN);	    tstat = signal (SIGTERM, SIG_IGN);	    while (wait (&status) != NOTOK) {#if defined(BSD42) && !defined(WAITINT)		(void) pidcheck (status.w_status);#else		(void) pidcheck (status);#endif		continue;	    }	    (void) signal (SIGHUP, hstat);	    (void) signal (SIGINT, istat);	    (void) signal (SIGQUIT, qstat);	    (void) signal (SIGTERM, tstat);	    xpid = 0;	    flush_errors ();	}    for (ctp = cts; *ctp; ctp++)	free_content (*ctp);    free ((char *) cts);    cts = NULL;    if (mp) {	m_replace (pfolder, folder);	if (mp -> hghsel != mp -> curmsg)	    m_setcur (mp, mp -> hghsel);	m_sync (mp);	m_update ();    }    done (0);    /* NOTREACHED */}/*  */static TYPESIG  pipeser (i)int	i;{    if (i == SIGQUIT) {	(void) unlink ("core");	(void) fflush (stdout);	fprintf (stderr, "\n");	(void) fflush (stderr);    }    done (1);    /* NOTREACHED */}/*  */#include "../h/mhn.h"struct str2init {    char   *si_key;    int	    si_value;    int   (*si_init) ();};static int InitApplication (), InitMessage (), InitMultiPart (), InitText (),    	   InitGeneric ();    	static struct str2init str2cts[] = {    "application",  CT_APPLICATION, InitApplication,    "audio",	    CT_AUDIO,	    InitGeneric,    "image",	    CT_IMAGE,	    InitGeneric,    "message",	    CT_MESSAGE,	    InitMessage,    "multipart",    CT_MULTIPART,   InitMultiPart,    "text",	    CT_TEXT,	    InitText,    "video",	    CT_VIDEO,	    InitGeneric,    NULL,	    CT_EXTENSION,   NULL,	/* these two must be last! */    NULL,	    CT_UNKNOWN,	    NULL,};static int InitBase64 (), InitQuoted (), Init7Bit ();static struct str2init str2ces[] = {    "base64",		CE_BASE64,	InitBase64,    "quoted-printable", CE_QUOTED,	InitQuoted,    "8bit",		CE_8BIT,	Init7Bit,    "7bit",		CE_7BIT,	Init7Bit,    "binary",		CE_BINARY,	NULL,    NULL,		CE_EXTENSION,	NULL,	/* these two must be last! */    NULL,		CE_UNKNOWN,	NULL,};/*  */static	CT	get_content (in, file, toplevel)FILE   *in;char   *file;int	toplevel;{    int     compnum,	    state;    char    buf[BUFSIZ],	    name[NAMESZ];    register CT	ct;    if ((ct = (CT) calloc (1, sizeof *ct)) == NULL)	adios (NULLCP, "out of memory");    ct -> c_begin = ftell (ct -> c_fp = in) + 1;    ct -> c_file = add (file, NULLCP);    for (compnum = 1, state = FLD;;) {	switch (state = m_getfld (state, name, buf, sizeof buf, in)) {	    case FLD:	    case FLDPLUS:	    case FLDEOF:	        compnum++;		if (uleq (name, VRSN_FIELD)) {		    int	    ucmp;		    char    c,		           *cp,			   *dp;		    cp = add (buf, NULLCP);		    while (state == FLDPLUS) {			state = m_getfld (state, name, buf, sizeof buf, in);			cp = add (buf, cp);		    }		    if (ct -> c_vrsn) {			advise (NULLCP,				"message %s has multiple %s: fields (%s)",				ct -> c_file, VRSN_FIELD, dp = trimcpy (cp));			free (dp);			free (cp);			goto out;		    }		    ct -> c_vrsn = cp;		    while (isspace (*cp))			cp++;		    for (dp = index (cp, '\n'); dp; dp = index (dp, '\n'))			*dp++ = ' ';		    for (dp = cp + strlen (cp) - 1; dp >= cp; dp--)			if (!isspace (*dp))			    break;		    *++dp = '\0';		    if (debugsw)			fprintf (stderr, "%s: %s\n", VRSN_FIELD, cp);		    if (*cp == '(' && get_comment (ct, &cp, 0) == NOTOK)			goto out;		    for (dp = cp; istoken (*dp); dp++)			continue;		    c = *dp, *dp = '\0';		    ucmp = uleq (cp, VRSN_VALUE);		    *dp = c;		    if (!ucmp)			admonish (NULLCP,				"message %s has unknown value for %s: field (%s)",				ct -> c_file, VRSN_FIELD, cp);		    goto got_header;		}		if (uleq (name, TYPE_FIELD)) {		    register char  *cp;		    register struct str2init *s2i;		    register CI	    ci = &ct -> c_ctinfo;		    cp = add (buf, NULLCP);		    while (state == FLDPLUS) {			state = m_getfld (state, name, buf, sizeof buf, in);			cp = add (buf, cp);		    }		    if (ct -> c_ctline) {			char   *dp = trimcpy (cp);			advise (NULLCP,				"message %s has multiple %s: fields (%s)",				ct -> c_file, TYPE_FIELD, dp);			free (dp);			free (cp);			goto out;		    }		    if (get_ctinfo (cp, ct, 0) == NOTOK)			goto out;		    for (s2i = str2cts; s2i -> si_key; s2i++)			if (uleq (ci -> ci_type, s2i -> si_key))			    break;		    if (!s2i -> si_key && !uprf (ci -> ci_type, "X-"))			s2i++;		    ct -> c_type = s2i -> si_value;		    ct -> c_ctinitfnx = s2i -> si_init;		    goto got_header;		}		if (uleq (name, ENCODING_FIELD)) {		    register char *cp,				  *dp;		    char    c;		    register struct str2init *s2i;		    cp = add (buf, NULLCP);		    while (state == FLDPLUS) {			state = m_getfld (state, name, buf, sizeof buf, in);			cp = add (buf, cp);		    }		    if (ct -> c_celine) {			advise (NULLCP,				"message %s has multiple %s: fields (%s)",				ct -> c_file, ENCODING_FIELD,				dp = trimcpy (cp));			free (dp);			free (cp);			goto out;		    }		    ct -> c_celine = cp;		    while (isspace (*cp))			cp++;		    for (dp = cp; istoken (*dp); dp++)			continue;		    c = *dp, *dp = '\0';		    for (s2i = str2ces; s2i -> si_key; s2i++)			if (uleq (cp, s2i -> si_key))			    break;		    if (!s2i -> si_key && !uprf (cp, "X-"))			s2i++;		    *dp = c;		    ct -> c_encoding = s2i -> si_value;		    if (s2i -> si_init && (*s2i -> si_init) (ct) == NOTOK)			goto out;		    goto got_header;		}		if (uleq (name, ID_FIELD)) {		    ct -> c_id = add (buf, ct -> c_id);		    while (state == FLDPLUS) {			state = m_getfld (state, name, buf, sizeof buf, in);			ct -> c_id = add (buf, ct -> c_id);		    }		    goto got_header;		}		if (uleq (name, DESCR_FIELD)) {		    ct -> c_descr = add (buf, ct -> c_descr);		    while (state == FLDPLUS) {			state = m_getfld (state, name, buf, sizeof buf, in);			ct -> c_descr = add (buf, ct -> c_descr);		    }		    goto got_header;		}		if (uleq (name, MD5_FIELD)) {		    char   *cp,		           *dp,		           *ep;		    cp = add (buf, NULLCP);		    while (state == FLDPLUS) {			state = m_getfld (state, name, buf, sizeof buf, in);			cp = add (buf, cp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀a∨国产成人精品| 亚洲r级在线视频| 欧美伦理电影网| 国产不卡视频一区| 日本午夜一本久久久综合| 视频一区二区三区在线| 久久久久久免费毛片精品| 欧美三级中文字幕在线观看| 国产成人免费视频一区| 日韩精品乱码av一区二区| 中文字幕日本乱码精品影院| 欧美一区二区福利视频| 日本乱码高清不卡字幕| 国产成人自拍高清视频在线免费播放| 亚洲国产色一区| 欧美高清在线一区二区| 日韩精品一区二区三区在线播放| 日本道色综合久久| 丁香五精品蜜臀久久久久99网站 | 国产精品久久久久四虎| 日韩午夜av电影| 欧美视频一区二区三区| 91免费观看在线| 不卡区在线中文字幕| 国产精品亚洲一区二区三区在线| 日本美女一区二区三区视频| 一区二区国产视频| 亚洲素人一区二区| 国产精品久久久久久久久快鸭| 欧美不卡一区二区三区| 欧美日本国产视频| 欧美日韩一区二区三区四区| 在线免费观看一区| 91丝袜高跟美女视频| www.激情成人| 91视频观看免费| 99精品视频在线免费观看| av在线不卡观看免费观看| 大桥未久av一区二区三区中文| 国产露脸91国语对白| 国产久卡久卡久卡久卡视频精品| 极品少妇一区二区| 精品一区二区三区免费毛片爱| 免费在线欧美视频| 毛片av一区二区| 精品一区二区三区在线观看国产| 久久99精品国产麻豆婷婷| 激情综合色丁香一区二区| 九九热在线视频观看这里只有精品| 麻豆精品视频在线| 国产一区二区不卡| 国产不卡视频在线播放| www.亚洲精品| 欧美色中文字幕| 欧美一区二区三区男人的天堂| 日韩欧美一区二区免费| 精品av久久707| 欧美激情一区二区在线| 中文字幕在线观看不卡视频| 亚洲美女偷拍久久| 午夜电影久久久| 精久久久久久久久久久| 成人黄色777网| 在线观看成人免费视频| 欧美一区日本一区韩国一区| 久久综合九色综合97婷婷女人| 欧美激情一区二区三区全黄| 亚洲女爱视频在线| 亚洲成人av中文| 国产一区二区三区免费在线观看| 91视频在线看| 8v天堂国产在线一区二区| www亚洲一区| 亚洲欧美日韩久久| 日本成人在线看| 国产激情精品久久久第一区二区| 91免费在线看| 欧美变态口味重另类| 中文字幕一区二区三区在线不卡| 亚洲成人免费视| 国产成人精品在线看| 欧美无乱码久久久免费午夜一区| 精品嫩草影院久久| 亚洲欧美aⅴ...| 国产一区二区伦理片| 在线看国产日韩| 久久综合久久综合久久综合| 17c精品麻豆一区二区免费| 天天av天天翘天天综合网色鬼国产| 国产一区二区电影| 欧美日韩中文另类| 国产精品女主播av| 蜜桃91丨九色丨蝌蚪91桃色| av电影天堂一区二区在线观看| 欧美一区二区国产| 亚洲综合视频在线| 成人av在线资源网| 欧美zozozo| 肉丝袜脚交视频一区二区| 91碰在线视频| 国产欧美一区二区三区在线老狼| 日韩精品福利网| 91美女蜜桃在线| 国产欧美一区二区精品性| 老司机午夜精品99久久| 欧美图片一区二区三区| 国产精品初高中害羞小美女文| 精品一区二区三区免费观看| 欧美精品日韩精品| 曰韩精品一区二区| www.欧美色图| 国产精品欧美极品| 大美女一区二区三区| 国产亚洲欧美激情| 九九久久精品视频| 精品国产乱码久久久久久免费| 亚洲成人免费av| 欧美日韩精品一二三区| 亚洲与欧洲av电影| 色94色欧美sute亚洲13| 一色屋精品亚洲香蕉网站| 高清不卡一二三区| 亚洲国产精品av| 丰满岳乱妇一区二区三区| 久久久久久久久久久电影| 精品一区二区在线视频| 中文字幕一区二区不卡| 国产资源在线一区| 久久中文字幕电影| 韩国一区二区三区| 精品91自产拍在线观看一区| 麻豆精品久久精品色综合| 制服丝袜在线91| 青草国产精品久久久久久| 欧美一级久久久| 麻豆国产精品官网| 精品国产3级a| 国产精品综合在线视频| 精品国产乱码久久久久久蜜臀 | 欧美一区二区三区免费| 无吗不卡中文字幕| 91精品国产色综合久久| 日韩av一区二区三区| 日韩一级精品视频在线观看| 视频一区欧美日韩| 6080yy午夜一二三区久久| 日本一不卡视频| 2022国产精品视频| 国产精品888| 国产精品污污网站在线观看| 不卡视频在线观看| 亚洲一级片在线观看| 日韩视频免费直播| 国产一区二区视频在线| 欧美激情一区二区三区不卡| 99亚偷拍自图区亚洲| 亚洲一区二区视频在线观看| 91精品久久久久久久久99蜜臂| 精品综合免费视频观看| 亚洲国产精品激情在线观看 | 69堂成人精品免费视频| 老司机精品视频一区二区三区| 国产亚洲人成网站| 99国产一区二区三精品乱码| 亚洲高清视频的网址| 精品免费国产二区三区| 丁香啪啪综合成人亚洲小说 | 欧美日韩精品专区| 精品一区在线看| 综合婷婷亚洲小说| 欧美日韩亚洲综合| 国产精品88888| 一级女性全黄久久生活片免费| 91精品在线免费| 国产91丝袜在线观看| 亚洲国产成人av| 久久亚洲二区三区| 91丨porny丨国产| 国产米奇在线777精品观看| 亚洲女人小视频在线观看| 日韩三区在线观看| 91香蕉视频在线| 激情五月婷婷综合| 亚洲国产欧美在线人成| 国产日韩欧美精品电影三级在线| 在线免费一区三区| 成人午夜在线播放| 蜜臀va亚洲va欧美va天堂| 亚洲视频每日更新| 欧美精品一区二区久久久| 在线观看日韩国产| 国产99久久久国产精品潘金| 亚洲国产精品影院| 国产精品久久久久久久久免费丝袜| 91麻豆精品国产| 欧美三区在线观看| 99视频有精品| 大陆成人av片| 国内偷窥港台综合视频在线播放| 五月激情综合婷婷|