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

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

?? mh.c

?? SIP(Session Initiation Protocol)是由IETF定義
?? C
?? 第 1 頁 / 共 3 頁
字號:
	    (write (fd,s,j) == j) &&	    (s = mail_fetchtext_full (sysibx,i,&j,FT_INTERNAL|FT_PEEK)) &&	    (write (fd,s,j) == j) && !fsync (fd) && !close (fd)) {				/* swell the cache */	  mail_exists (stream,++nmsgs);	  stream->uid_last =	/* create new elt, note its file number */	    (elt = mail_elt (stream,nmsgs))->private.uid = old;	  recent++;		/* bump recent count */				/* set up initial flags and date */	  elt->valid = elt->recent = T;	  elt->seen = selt->seen;	  elt->deleted = selt->deleted;	  elt->flagged = selt->flagged;	  elt->answered = selt->answered;	  elt->draft = selt->draft;	  elt->day = selt->day;elt->month = selt->month;elt->year = selt->year;	  elt->hours = selt->hours;elt->minutes = selt->minutes;	  elt->seconds = selt->seconds;	  elt->zhours = selt->zhours; elt->zminutes = selt->zminutes;	  mh_setdate (LOCAL->buf,elt);	}	else {			/* failed to snarf */	  if (fd) {		/* did it ever get opened? */	    mm_log ("Message copy to MH mailbox failed",ERROR);	    close (fd);		/* close descriptor */	    unlink (LOCAL->buf);/* flush this file */	  }	  else {	    sprintf (tmp,"Can't add message: %s",strerror (errno));	    mm_log (tmp,ERROR);	  }	  stream->silent = silent;	  return NIL;		/* note that something is badly wrong */	}	sprintf (tmp,"%lu",i);	/* delete it from the sysinbox */	mail_flag (sysibx,tmp,"\\Deleted",ST_SET);      }      stat (LOCAL->dir,&sbuf);	/* update scan time */      LOCAL->scantime = sbuf.st_ctime;            mail_expunge (sysibx);	/* now expunge all those messages */    }    if (sysibx) mail_close (sysibx);    mm_nocritical (stream);	/* release critical */  }  stream->silent = silent;	/* can pass up events now */  mail_exists (stream,nmsgs);	/* notify upper level of mailbox size */  mail_recent (stream,recent);  return T;			/* return that we are alive */}/* MH mail check mailbox * Accepts: MAIL stream */void mh_check (MAILSTREAM *stream){  /* Perhaps in the future this will preserve flags */  if (mh_ping (stream)) mm_log ("Check completed",(long) NIL);}/* MH mail expunge mailbox * Accepts: MAIL stream */void mh_expunge (MAILSTREAM *stream){  MESSAGECACHE *elt;  unsigned long i = 1;  unsigned long n = 0;  unsigned long recent = stream->recent;  mm_critical (stream);		/* go critical */  while (i <= stream->nmsgs) {	/* for each message */				/* if deleted, need to trash it */    if ((elt = mail_elt (stream,i))->deleted) {      sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid);      if (unlink (LOCAL->buf)) {/* try to delete the message */	sprintf (LOCAL->buf,"Expunge of message %lu failed, aborted: %s",i,		 strerror (errno));	mm_log (LOCAL->buf,(long) NIL);	break;      }				/* note uncached */      LOCAL->cachedtexts -= ((elt->private.msg.header.text.data ?			      elt->private.msg.header.text.size : 0) +			     (elt->private.msg.text.text.data ?			      elt->private.msg.text.text.size : 0));      mail_gc_msg (&elt->private.msg,GC_ENV | GC_TEXTS);      if (elt->recent) --recent;/* if recent, note one less recent message */      mail_expunged (stream,i);	/* notify upper levels */      n++;			/* count up one more expunged message */    }    else i++;			/* otherwise try next message */  }  if (n) {			/* output the news if any expunged */    sprintf (LOCAL->buf,"Expunged %lu messages",n);    mm_log (LOCAL->buf,(long) NIL);  }  else mm_log ("No messages deleted, so no update needed",(long) NIL);  mm_nocritical (stream);	/* release critical */				/* notify upper level of new mailbox size */  mail_exists (stream,stream->nmsgs);  mail_recent (stream,recent);}/* MH mail copy message(s) * Accepts: MAIL stream *	    sequence *	    destination mailbox *	    copy options * Returns: T if copy successful, else NIL */long mh_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options){  STRING st;  MESSAGECACHE *elt;  struct stat sbuf;  int fd;  unsigned long i;  char flags[MAILTMPLEN],date[MAILTMPLEN];				/* copy the messages */  if ((options & CP_UID) ? mail_uid_sequence (stream,sequence) :      mail_sequence (stream,sequence))    for (i = 1; i <= stream->nmsgs; i++)       if ((elt = mail_elt (stream,i))->sequence) {	sprintf (LOCAL->buf,"%s/%lu",LOCAL->dir,elt->private.uid);	if ((fd = open (LOCAL->buf,O_RDONLY,NIL)) < 0) return NIL;	fstat (fd,&sbuf);	/* get size of message */	if (!elt->day) {	/* make plausible IMAPish date string */	  struct tm *tm = gmtime (&sbuf.st_mtime);	  elt->day = tm->tm_mday; elt->month = tm->tm_mon + 1;	  elt->year = tm->tm_year + 1900 - BASEYEAR;	  elt->hours = tm->tm_hour; elt->minutes = tm->tm_min;	  elt->seconds = tm->tm_sec;	  elt->zhours = 0; elt->zminutes = 0;	}				/* is buffer big enough? */	if (sbuf.st_size > LOCAL->buflen) {	  fs_give ((void **) &LOCAL->buf);	  LOCAL->buf = (char *) fs_get ((LOCAL->buflen = sbuf.st_size) + 1);	}				/* slurp message */	read (fd,LOCAL->buf,sbuf.st_size);				/* tie off file */	LOCAL->buf[sbuf.st_size] = '\0';	close (fd);		/* flush message file */	INIT (&st,mail_string,(void *) LOCAL->buf,sbuf.st_size);				/* init flag string */	flags[0] = flags[1] = '\0';	if (elt->seen) strcat (flags," \\Seen");	if (elt->deleted) strcat (flags," \\Deleted");	if (elt->flagged) strcat (flags," \\Flagged");	if (elt->answered) strcat (flags," \\Answered");	if (elt->draft) strcat (flags," \\Draft");	flags[0] = '(';		/* open list */	strcat (flags,")");	/* close list */	mail_date (date,elt);	/* generate internal date */	if (!mail_append_full (NIL,mailbox,flags,date,&st)) return NIL;	if (options & CP_MOVE) elt->deleted = T;      }  return T;			/* return success */}/* MH mail append message from stringstruct * Accepts: MAIL stream *	    destination mailbox *	    append callback *	    data for callback * Returns: T if append successful, else NIL */long mh_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data){  struct direct **names;  int fd;  char c,*flags,*date,*s,tmp[MAILTMPLEN];  STRING *message;  MESSAGECACHE elt;  long i,size,last,nfiles;  long ret = LONGT;				/* default stream to prototype */  if (!stream) stream = &mhproto;				/* make sure valid mailbox */  if (!mh_isvalid (mailbox,tmp,NIL)) switch (errno) {  case ENOENT:			/* no such file? */    if ((mailbox[0] == '#') && ((mailbox[1] == 'M') || (mailbox[1] == 'm')) &&	((mailbox[2] == 'H') || (mailbox[2] == 'h')) &&	((mailbox[3] == 'I') || (mailbox[3] == 'i')) &&	((mailbox[4] == 'N') || (mailbox[4] == 'n')) &&	((mailbox[5] == 'B') || (mailbox[5] == 'b')) &&	((mailbox[6] == 'O') || (mailbox[6] == 'o')) &&	((mailbox[7] == 'X') || (mailbox[7] == 'x')) && !mailbox[8])      mh_create (NIL,"INBOX");    else {      mm_notify (stream,"[TRYCREATE] Must create mailbox before append",NIL);      return NIL;    }				/* falls through */  case 0:			/* merely empty file? */    break;  case EINVAL:    sprintf (tmp,"Invalid MH-format mailbox name: %.80s",mailbox);    mm_log (tmp,ERROR);    return NIL;  default:    sprintf (tmp,"Not a MH-format mailbox: %.80s",mailbox);    mm_log (tmp,ERROR);    return NIL;  }				/* get first message */  if (!(*af) (stream,data,&flags,&date,&message)) return NIL;  if ((nfiles = scandir (tmp,&names,mh_select,mh_numsort)) > 0) {				/* largest number */    last = atoi (names[nfiles-1]->d_name);        for (i = 0; i < nfiles; ++i) /* free directory */      fs_give ((void **) &names[i]);  }  else last = 0;		/* no messages here yet */  if (s = (void *) names) fs_give ((void **) &s);  mm_critical (stream);		/* go critical */  do {    if (date) {			/* want to preserve date? */				/* yes, parse date into an elt */      if (!mail_parse_date (&elt,date)) {	sprintf (tmp,"Bad date in append: %.80s",date);	mm_log (tmp,ERROR);	ret = NIL;	break;      }    }    mh_file (tmp,mailbox);	/* build file name we will use */    sprintf (tmp + strlen (tmp),"/%ld",++last);    if ((fd = open (tmp,O_WRONLY|O_CREAT|O_EXCL,S_IREAD|S_IWRITE)) < 0) {      sprintf (tmp,"Can't open append message: %s",strerror (errno));      mm_log (tmp,ERROR);      ret = NIL;      break;    }				/* copy the data w/o CR's */    for (size = 0,i = SIZE (message),s = (char *) fs_get (i + 1); i; --i)      if ((c = SNX (message)) != '\015') s[size++] = c;				/* write the data */    if ((write (fd,s,size) < 0) || fsync (fd)) {      unlink (tmp);		/* delete message */      sprintf (tmp,"Message append failed: %s",strerror (errno));      mm_log (tmp,ERROR);      ret = NIL;    }    fs_give ((void **) &s);	/* flush the buffer */    close (fd);			/* close the file */    if (ret) {			/* set the date for this message */      if (date) mh_setdate (tmp,&elt);				/* get next message */      if (!(*af) (stream,data,&flags,&date,&message)) ret = NIL;    }  } while (ret && message);  mm_nocritical (stream);	/* release critical */  return ret;}/* Internal routines *//* MH file name selection test * Accepts: candidate directory entry * Returns: T to use file name, NIL to skip it */int mh_select (struct direct *name){  char c;  char *s = name->d_name;  while (c = *s++) if (!isdigit (c)) return NIL;  return T;}/* MH file name comparision * Accepts: first candidate directory entry *	    second candidate directory entry * Returns: negative if d1 < d2, 0 if d1 == d2, postive if d1 > d2 */int mh_numsort (const void *d1,const void *d2){  return atoi ((*(struct direct **) d1)->d_name) -    atoi ((*(struct direct **) d2)->d_name);}/* MH mail build file name * Accepts: destination string *          source * Returns: destination */char *mh_file (char *dst,char *name){  char *s,tmp[MAILTMPLEN];				/* build composite name */  sprintf (dst,"%s/%.900s",mh_path,	   strcmp (ucase (strcpy (tmp,name)),"#MHINBOX") ? name + 4 : "inbox");				/* tie off unnecessary trailing / */  if ((s = strrchr (dst,'/')) && !s[1] && (s[-1] == '/')) *s = '\0';  return dst;}/* MH canonicalize name * Accepts: buffer to write name *	    reference *	    pattern * Returns: T if success, NIL if failure */long mh_canonicalize (char *pattern,char *ref,char *pat){  char tmp[MAILTMPLEN];  if (ref && *ref) {		/* have a reference */    strcpy (pattern,ref);	/* copy reference to pattern */				/* # overrides mailbox field in reference */    if (*pat == '#') strcpy (pattern,pat);				/* pattern starts, reference ends, with / */    else if ((*pat == '/') && (pattern[strlen (pattern) - 1] == '/'))      strcat (pattern,pat + 1);	/* append, omitting one of the period */    else strcat (pattern,pat);	/* anything else is just appended */  }  else strcpy (pattern,pat);	/* just have basic name */  return (mh_isvalid (pattern,tmp,T));}/* Set date for message * Accepts: file name *	    elt containing date */void mh_setdate (char *file,MESSAGECACHE *elt){  time_t tp[2];  tp[0] = time (0);		/* atime is now */  tp[1] = mail_longdate (elt);	/* modification time */  utime (file,tp);		/* set the times */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费视频观看| 高清不卡一区二区| 日本午夜一区二区| 精品视频一区二区不卡| 亚洲国产高清在线观看视频| 国产激情91久久精品导航| 欧美大片顶级少妇| 国产白丝网站精品污在线入口| 精品国产乱码久久久久久久久| 国产永久精品大片wwwapp| 制服丝袜亚洲精品中文字幕| 国产性色一区二区| 成人av网站免费观看| 亚洲精品大片www| 91.麻豆视频| 国产成人在线网站| 亚洲嫩草精品久久| 欧美影院午夜播放| 激情综合色综合久久| 中文字幕一区二区在线观看| 在线观看日韩电影| 美腿丝袜亚洲三区| 中国av一区二区三区| 成人黄色片在线观看| 亚洲欧美区自拍先锋| 91精品婷婷国产综合久久| 国产久卡久卡久卡久卡视频精品| 成人免费在线视频观看| 欧美喷潮久久久xxxxx| 精品亚洲porn| 亚洲品质自拍视频网站| 欧美一级淫片007| 91香蕉视频污| 日韩av二区在线播放| 国产精品嫩草影院av蜜臀| 欧洲精品中文字幕| 久久不见久久见免费视频7 | 日韩欧美一区二区不卡| 国产精品亚洲成人| 日韩成人免费电影| 亚洲欧美综合另类在线卡通| 欧美肥大bbwbbw高潮| 99视频一区二区三区| 日本不卡高清视频| 中文字幕亚洲成人| 精品日产卡一卡二卡麻豆| 欧美第一区第二区| 亚洲高清免费一级二级三级| 欧美日韩一区二区三区不卡| 中文字幕中文字幕一区| 首页亚洲欧美制服丝腿| 7777精品伊人久久久大香线蕉超级流畅 | 国产亚洲精品中文字幕| 国产99一区视频免费| 天堂影院一区二区| 欧美日韩第一区日日骚| 成人sese在线| 国产一区二区三区香蕉| 天堂一区二区在线免费观看| 亚洲免费av高清| 亚洲国产成人私人影院tom | 69久久夜色精品国产69蝌蚪网| 国产.精品.日韩.另类.中文.在线.播放| 丝袜亚洲另类欧美| 一区二区激情小说| 亚洲视频免费在线观看| 中文字幕乱码亚洲精品一区| 欧美性三三影院| 99久久精品一区| av中文一区二区三区| 国产电影精品久久禁18| 国产最新精品免费| 麻豆精品视频在线观看视频| 午夜精品福利一区二区蜜股av| 亚洲影院免费观看| 国产精品伦理在线| 久久久久久久久久久电影| 日韩欧美国产一区二区三区| 91精品国产综合久久婷婷香蕉| 欧美性猛片xxxx免费看久爱| 在线视频国内一区二区| 色吊一区二区三区| 色琪琪一区二区三区亚洲区| 成人毛片老司机大片| 成av人片一区二区| 成人教育av在线| 91色|porny| 91黄视频在线观看| 欧美日韩免费电影| 欧美日本高清视频在线观看| 99国产精品99久久久久久| 日精品一区二区| 日本大胆欧美人术艺术动态| 玖玖九九国产精品| 久色婷婷小香蕉久久| 国产精品123| 99精品一区二区| 欧美天堂亚洲电影院在线播放| 欧美日韩一区二区三区在线 | 精品视频在线视频| 欧美老人xxxx18| 99re视频精品| 成人黄色免费短视频| 成人97人人超碰人人99| 欧美亚洲综合一区| 欧美日韩亚洲综合一区二区三区| 成人ar影院免费观看视频| 国产综合色产在线精品| 丁香啪啪综合成人亚洲小说| 国产原创一区二区| 久久综合综合久久综合| 国产一区二区女| 成人深夜视频在线观看| 在线精品视频一区二区| 日韩三级视频在线看| 欧美激情一区二区三区在线| 亚洲色图欧洲色图婷婷| 首页国产欧美久久| 国产成人精品亚洲777人妖| 91国产福利在线| 欧美精品一区二区三区视频| 亚洲天堂福利av| 蜜桃视频第一区免费观看| 亚洲成a人v欧美综合天堂下载| 一区二区成人在线视频| 国内精品国产成人| 欧美在线短视频| 国产亚洲人成网站| 亚洲大片免费看| 高清久久久久久| 欧美三级电影精品| 亚洲国产成人在线| 免费成人你懂的| 在线观看区一区二| 国产精品卡一卡二卡三| 捆绑变态av一区二区三区| 色综合久久久久网| 国产日韩精品视频一区| 亚洲夂夂婷婷色拍ww47| 国产一区二区三区免费在线观看 | 国产三级欧美三级日产三级99| 一区二区久久久久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 成人开心网精品视频| 欧美一级免费观看| 一区二区三区精品在线| 成人综合在线视频| 欧美美女黄视频| 亚洲欧美一区二区不卡| 国产福利一区二区三区视频| 欧美一级黄色录像| 日韩精彩视频在线观看| 欧美日韩一区在线| 一区二区三区在线视频免费| 成人av在线一区二区三区| 日韩三级视频在线看| 日韩激情一二三区| 欧美午夜寂寞影院| 一区二区三区在线观看视频| 97精品视频在线观看自产线路二| 久久久91精品国产一区二区精品 | 国产精品黄色在线观看| 日韩不卡在线观看日韩不卡视频| 欧美日韩精品电影| 免费一级片91| 久久午夜羞羞影院免费观看| 国产一区二区三区美女| 中文字幕在线不卡视频| 日韩一区二区在线观看视频| 亚洲精品中文在线观看| 国产传媒一区在线| 国产清纯白嫩初高生在线观看91| 久久精品国产第一区二区三区| 制服丝袜国产精品| 麻豆91在线播放| 精品日韩一区二区三区| 青椒成人免费视频| 欧美一级淫片007| 蜜桃视频一区二区| 久久久久久久久99精品| 丁香一区二区三区| 亚洲人快播电影网| 在线免费观看日本欧美| 亚洲无线码一区二区三区| www.欧美日韩国产在线| 国产精品灌醉下药二区| 99精品1区2区| 亚洲国产精品久久艾草纯爱| 欧美三级日本三级少妇99| 青青草一区二区三区| 久久久久久亚洲综合| 成人性生交大片免费看在线播放| 国产精品免费视频观看| 一本一本久久a久久精品综合麻豆| 尤物av一区二区| 日韩一区二区三区在线| 国产成人精品一区二区三区网站观看| 国产精品久久久久一区二区三区| 色视频成人在线观看免| 日日噜噜夜夜狠狠视频欧美人 |