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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fty_regex.c

?? ncurses-5.4 需要的就來下把 一定會(huì)有用的哦
?? C
字號(hào):
/* * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. * You may freely copy it for use as a template for your own field types. * If you develop a field type that might be of general use, please send * it back to the ncurses maintainers for inclusion in the next version. *//****************************************************************************                                                                          **  Author : Juergen Pfeifer                                                **                                                                          ****************************************************************************/#include "form.priv.h"MODULE_ID("$Id: fty_regex.c,v 1.17 2003/10/25 14:54:48 tom Exp $")#if HAVE_REGEX_H_FUNCS	/* We prefer POSIX regex */#include <regex.h>typedef struct{  regex_t *pRegExp;  unsigned long *refCount;} RegExp_Arg;#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS#undef RETURNstatic int reg_errno;static char *RegEx_Init(char *instring){	reg_errno = 0;	return instring;}static char *RegEx_Error(int code){	reg_errno = code;	return 0;}#define INIT 		register char *sp = RegEx_Init(instring);#define GETC()		(*sp++)#define PEEKC()		(*sp)#define UNGETC(c)	(--sp)#define RETURN(c)	return(c)#define ERROR(c)	return RegEx_Error(c)#if HAVE_REGEXP_H_FUNCS#include <regexp.h>#else#include <regexpr.h>#endiftypedef struct{  char *compiled_expression;  unsigned long *refCount;} RegExp_Arg;/* Maximum Length we allow for a compiled regular expression */#define MAX_RX_LEN   (2048)#define RX_INCREMENT (256)#endif/*---------------------------------------------------------------------------|   Facility      :  libnform|   Function      :  static void *Make_RegularExpression_Type(va_list * ap)||   Description   :  Allocate structure for regex type argument.||   Return Values :  Pointer to argument structure or NULL on error+--------------------------------------------------------------------------*/static void *Make_RegularExpression_Type(va_list * ap){#if HAVE_REGEX_H_FUNCS  char *rx = va_arg(*ap,char *);  RegExp_Arg *preg;  preg = (RegExp_Arg*)malloc(sizeof(RegExp_Arg));  if (preg)    {      if (((preg->pRegExp = (regex_t*)malloc(sizeof(regex_t))) != (regex_t*)0)       && !regcomp(preg->pRegExp,rx,		   (REG_EXTENDED | REG_NOSUB | REG_NEWLINE) ))	{	  preg->refCount = (unsigned long *)malloc(sizeof(unsigned long));	  *(preg->refCount) = 1;	}      else	{	  if (preg->pRegExp)	    free(preg->pRegExp);	  free(preg);	  preg = (RegExp_Arg*)0;	}    }  return((void *)preg);#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS  char *rx = va_arg(*ap,char *);  RegExp_Arg *pArg;  pArg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg));  if (pArg)    {      int blen = RX_INCREMENT;      pArg->compiled_expression = NULL;      pArg->refCount = (unsigned long *)malloc(sizeof(unsigned long));      *(pArg->refCount) = 1;      do {	char *buf = (char *)malloc(blen);	if (buf)	  {#if HAVE_REGEXP_H_FUNCS	    char *last_pos = compile (rx, buf, &buf[blen], '\0');#else /* HAVE_REGEXPR_H_FUNCS */	    char *last_pos = compile (rx, buf, &buf[blen]);#endif	    if (reg_errno)	      {		free(buf);		if (reg_errno==50)		  blen += RX_INCREMENT;		else		  {		    free(pArg);		    pArg = NULL;		    break;		  }	      }	    else	      {		pArg->compiled_expression = buf;		break;	      }	  }      } while( blen <= MAX_RX_LEN );    }  if (pArg && !pArg->compiled_expression)    {      free(pArg);      pArg = NULL;    }  return (void *)pArg;#else  return 0;#endif}/*---------------------------------------------------------------------------|   Facility      :  libnform|   Function      :  static void *Copy_RegularExpression_Type(|                                      const void * argp)||   Description   :  Copy structure for regex type argument.||   Return Values :  Pointer to argument structure or NULL on error.+--------------------------------------------------------------------------*/static void *Copy_RegularExpression_Type(const void * argp){#if (HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS)  const RegExp_Arg *ap = (const RegExp_Arg *)argp;  const RegExp_Arg *result = (const RegExp_Arg *)0;  if (ap)    {      *(ap->refCount) += 1;      result = ap;    }  return (void *)result;#else  return 0;#endif}/*---------------------------------------------------------------------------|   Facility      :  libnform|   Function      :  static void Free_RegularExpression_Type(void * argp)||   Description   :  Free structure for regex type argument.||   Return Values :  -+--------------------------------------------------------------------------*/static void Free_RegularExpression_Type(void * argp){#if HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS  RegExp_Arg *ap = (RegExp_Arg *)argp;  if (ap)    {      if (--(*(ap->refCount)) == 0)	{#if HAVE_REGEX_H_FUNCS	  if (ap->pRegExp)	    {	      free(ap->refCount);	      regfree(ap->pRegExp);	    }#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS	  if (ap->compiled_expression)	    {	      free(ap->refCount);	      free(ap->compiled_expression);	    }#endif	  free(ap);	}    }#endif}/*---------------------------------------------------------------------------|   Facility      :  libnform|   Function      :  static bool Check_RegularExpression_Field(|                                      FIELD * field,|                                      const void  * argp)||   Description   :  Validate buffer content to be a valid regular expression||   Return Values :  TRUE  - field is valid|                    FALSE - field is invalid+--------------------------------------------------------------------------*/static bool Check_RegularExpression_Field(FIELD * field, const void  * argp){  bool match = FALSE;#if HAVE_REGEX_H_FUNCS  const RegExp_Arg *ap = (const RegExp_Arg*)argp;  if (ap && ap->pRegExp)    match = (regexec(ap->pRegExp,field_buffer(field,0),0,NULL,0) ? FALSE:TRUE);#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS  RegExp_Arg *ap = (RegExp_Arg *)argp;  if (ap && ap->compiled_expression)    match = (step(field_buffer(field,0),ap->compiled_expression) ? TRUE:FALSE);#endif  return match;}static FIELDTYPE typeREGEXP = {  _HAS_ARGS | _RESIDENT,  1,                           /* this is mutable, so we can't be const */  (FIELDTYPE *)0,  (FIELDTYPE *)0,  Make_RegularExpression_Type,  Copy_RegularExpression_Type,  Free_RegularExpression_Type,  Check_RegularExpression_Field,  NULL,  NULL,  NULL};NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;/* fty_regex.c ends here */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看一区| 在线观看国产日韩| 91精品国产综合久久香蕉的特点| 亚洲综合色视频| 欧美午夜一区二区三区| 在线免费亚洲电影| 国产成人精品亚洲日本在线桃色| 精品国产乱码久久久久久图片 | 久久精品国产99国产精品| 爽好久久久欧美精品| 舔着乳尖日韩一区| 日本不卡的三区四区五区| 蜜臀久久久久久久| 久久se这里有精品| 国产福利视频一区二区三区| 国产成人三级在线观看| 高清不卡一区二区| 99国产精品久久久| 欧美性大战久久| 欧美一二区视频| 日本一区二区三区久久久久久久久不 | 欧美熟乱第一页| 67194成人在线观看| 精品国产三级a在线观看| 久久精品欧美一区二区三区麻豆| 欧美激情一区二区三区全黄| 亚洲色欲色欲www| 亚洲一二三四久久| 久久99精品国产| 成人精品一区二区三区四区 | 欧美激情一区在线| 一区二区三区欧美视频| 天天影视涩香欲综合网| 老司机精品视频在线| 大白屁股一区二区视频| 日本高清无吗v一区| 日韩欧美亚洲另类制服综合在线 | 精彩视频一区二区三区| 成人av资源站| 欧美一区欧美二区| 国产欧美一区二区精品婷婷| 一区2区3区在线看| 精品写真视频在线观看| 99riav一区二区三区| 在线播放/欧美激情| 久久美女高清视频| 一区二区三区日韩精品| 精品在线亚洲视频| 日本高清不卡一区| 久久久久久久久99精品| 亚洲综合丝袜美腿| 国产老妇另类xxxxx| 欧美午夜片在线观看| 国产午夜精品理论片a级大结局 | 国产麻豆精品95视频| 91亚洲精品久久久蜜桃| 精品国产人成亚洲区| 亚洲夂夂婷婷色拍ww47| 国产精品亚洲成人| 欧美精品三级在线观看| 中文一区二区在线观看| 日本大胆欧美人术艺术动态| 9人人澡人人爽人人精品| 精品国精品自拍自在线| 亚洲一区二区三区在线播放| 国产成人精品三级| 91精选在线观看| 亚洲少妇中出一区| 成人性视频免费网站| 日韩一区二区不卡| 亚洲成人免费视| 色婷婷精品大视频在线蜜桃视频 | 免费精品视频在线| 色一区在线观看| 欧美国产一区在线| 狠狠色综合日日| 欧美日韩精品电影| 亚洲精品五月天| 波多野结衣中文一区| 久久―日本道色综合久久| 免费精品视频在线| 4438成人网| 亚洲高清免费一级二级三级| 99久久久无码国产精品| 久久久三级国产网站| 精品一区二区三区香蕉蜜桃| 欧美人与性动xxxx| 性做久久久久久免费观看欧美| 国产91精品久久久久久久网曝门| 精品国产乱码久久久久久图片 | 国产成人精品一区二区三区四区 | 国产精品每日更新| 国产精品18久久久久久久网站| 精品国产一二三| 久久99精品国产麻豆婷婷| 69成人精品免费视频| 五月婷婷久久综合| 欧美日韩高清一区二区| 亚洲mv在线观看| 欧美精品aⅴ在线视频| 天天做天天摸天天爽国产一区| 欧美日韩中文字幕一区二区| 亚洲综合色丁香婷婷六月图片| 91欧美一区二区| 亚洲与欧洲av电影| 欧美军同video69gay| 亚洲成av人影院| 欧美精品v日韩精品v韩国精品v| 五月激情综合婷婷| 日韩欧美资源站| 国产一区二区在线影院| 国产日韩高清在线| 91在线小视频| 一级中文字幕一区二区| 777亚洲妇女| 久久99精品国产麻豆婷婷| 久久久久一区二区三区四区| 国产激情一区二区三区| 国产拍揄自揄精品视频麻豆| 成人国产一区二区三区精品| 亚洲免费观看在线视频| 欧美在线制服丝袜| 日韩国产成人精品| 久久久亚洲午夜电影| 粉嫩绯色av一区二区在线观看 | 免费在线视频一区| 久久精品一区二区三区av| 99久久综合99久久综合网站| 亚洲精品中文在线观看| 欧美一区二区三区人| 国内久久精品视频| 成人免费在线视频| 欧美日韩精品二区第二页| 韩国成人在线视频| 国产精品久久久久影院色老大 | 久久精品欧美一区二区三区麻豆| 成人av在线一区二区三区| 亚洲一区二区不卡免费| 欧美sm美女调教| 99re66热这里只有精品3直播 | 粉嫩一区二区三区在线看| 亚洲精品v日韩精品| 日韩午夜激情免费电影| 成人免费高清在线| 亚洲一区二区三区免费视频| 久久综合色综合88| 色婷婷综合激情| 久久99国产精品免费网站| 亚洲欧美成aⅴ人在线观看| 911精品国产一区二区在线| 国产剧情av麻豆香蕉精品| 一区二区在线观看视频在线观看| 欧美一级欧美一级在线播放| 成人激情黄色小说| 男女视频一区二区| 1024精品合集| 欧美电影免费观看完整版| 91在线视频免费91| 蜜桃av一区二区三区| 亚洲激情图片一区| www日韩大片| 欧美日本韩国一区| 成年人国产精品| 精品一二线国产| 午夜久久久久久| 亚洲欧美偷拍三级| 欧美国产视频在线| 欧美成人精品二区三区99精品| 在线精品国精品国产尤物884a| 国产麻豆欧美日韩一区| 日韩精品高清不卡| 亚洲伊人伊色伊影伊综合网| 国产亚洲美州欧州综合国| 91.xcao| 色av一区二区| caoporm超碰国产精品| 国产麻豆精品视频| 久久成人免费电影| 日韩二区三区四区| 亚洲综合成人在线视频| 国产精品女主播在线观看| 26uuu亚洲综合色欧美| 欧美日韩一区二区三区高清| 91视频.com| www..com久久爱| 成人性视频免费网站| 国产综合色在线视频区| 日本美女一区二区| 丝袜亚洲精品中文字幕一区| 亚洲自拍偷拍网站| 亚洲精品乱码久久久久久黑人 | 国模娜娜一区二区三区| 日韩精品1区2区3区| 亚洲一区二区三区在线播放| 亚洲视频综合在线| 亚洲天堂精品视频| 日韩一区中文字幕| 亚洲啪啪综合av一区二区三区| 国产精品乱人伦| 国产精品色呦呦|