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

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

?? getopt.c

?? 穿越防火墻技術代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
      if (optind == 0)	optind = 1;	/* Don't scan ARGV[0], the program name.  */      optstring = _getopt_initialize (argc, argv, optstring);      __getopt_initialized = 1;    }  /* Test whether ARGV[optind] points to a non-option argument.     Either it does not have option syntax, or there is an environment flag     from the shell indicating it is not an option.  The later information     is only used when the used in the GNU libc.  */#ifdef _LIBC#define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'	      \		     || (optind < nonoption_flags_len			      \			 && __getopt_nonoption_flags[optind] == '1'))#else#define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')#endif  if (nextchar == NULL || *nextchar == '\0')    {      /* Advance to the next ARGV-element.  */      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been	 moved back by the user (who may also have changed the arguments).  */      if (last_nonopt > optind)	last_nonopt = optind;      if (first_nonopt > optind)	first_nonopt = optind;      if (ordering == PERMUTE)	{	  /* If we have just processed some options following some non-options,	     exchange them so that the options come first.  */	  if (first_nonopt != last_nonopt && last_nonopt != optind)	    exchange ((char **) argv);	  else if (last_nonopt != optind)	    first_nonopt = optind;	  /* Skip any additional non-options	     and extend the range of non-options previously skipped.  */	  while (optind < argc && NONOPTION_P)	    optind++;	  last_nonopt = optind;	}      /* The special ARGV-element `--' means premature end of options.	 Skip it like a null option,	 then exchange with previous non-options as if it were an option,	 then skip everything else like a non-option.  */      if (optind != argc && !strcmp (argv[optind], "--"))	{	  optind++;	  if (first_nonopt != last_nonopt && last_nonopt != optind)	    exchange ((char **) argv);	  else if (first_nonopt == last_nonopt)	    first_nonopt = optind;	  last_nonopt = argc;	  optind = argc;	}      /* If we have done all the ARGV-elements, stop the scan	 and back over any non-options that we skipped and permuted.  */      if (optind == argc)	{	  /* Set the next-arg-index to point at the non-options	     that we previously skipped, so the caller will digest them.  */	  if (first_nonopt != last_nonopt)	    optind = first_nonopt;	  return -1;	}      /* If we have come to a non-option and did not permute it,	 either stop the scan or describe it to the caller and pass it by.  */      if (NONOPTION_P)	{	  if (ordering == REQUIRE_ORDER)	    return -1;	  optarg = argv[optind++];	  return 1;	}      /* We have found another option-ARGV-element.	 Skip the initial punctuation.  */      nextchar = (argv[optind] + 1		  + (longopts != NULL && argv[optind][1] == '-'));    }  /* Decode the current option-ARGV-element.  */  /* Check whether the ARGV-element is a long option.     If long_only and the ARGV-element has the form "-f", where f is     a valid short option, don't consider it an abbreviated form of     a long option that starts with f.  Otherwise there would be no     way to give the -f short option.     On the other hand, if there's a long option "fubar" and     the ARGV-element is "-fu", do consider that an abbreviation of     the long option, just like "--fu", and not "-f" with arg "u".     This distinction seems to be the most useful approach.  */  if (longopts != NULL      && (argv[optind][1] == '-'	  || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))    {      char *nameend;      const struct option *p;      const struct option *pfound = NULL;      int exact = 0;      int ambig = 0;      int indfound = -1;      int option_index;      for (nameend = nextchar; *nameend && *nameend != '='; nameend++)	/* Do nothing.  */ ;      /* Test all long options for either exact match	 or abbreviated matches.  */      for (p = longopts, option_index = 0; p->name; p++, option_index++)	if (!strncmp (p->name, nextchar, nameend - nextchar))	  {	    if ((unsigned int) (nameend - nextchar)		== (unsigned int) strlen (p->name))	      {		/* Exact match found.  */		pfound = p;		indfound = option_index;		exact = 1;		break;	      }	    else if (pfound == NULL)	      {		/* First nonexact match found.  */		pfound = p;		indfound = option_index;	      }	    else	      /* Second or later nonexact match found.  */	      ambig = 1;	  }      if (ambig && !exact)	{	  if (opterr)	    fprintf (stderr, _("%s: option `%s' is ambiguous\n"),		     argv[0], argv[optind]);	  nextchar += strlen (nextchar);	  optind++;	  optopt = 0;	  return '?';	}      if (pfound != NULL)	{	  option_index = indfound;	  optind++;	  if (*nameend)	    {	      /* Don't test has_arg with >, because some C compilers don't		 allow it to be used on enums.  */	      if (pfound->has_arg)		optarg = nameend + 1;	      else		{		  if (opterr)		    {		      if (argv[optind - 1][1] == '-')			/* --option */			fprintf (stderr,			     _("%s: option `--%s' doesn't allow an argument\n"),				 argv[0], pfound->name);		      else			/* +option or -option */			fprintf (stderr,			     _("%s: option `%c%s' doesn't allow an argument\n"),				 argv[0], argv[optind - 1][0], pfound->name);		    }		  nextchar += strlen (nextchar);		  optopt = pfound->val;		  return '?';		}	    }	  else if (pfound->has_arg == 1)	    {	      if (optind < argc)		optarg = argv[optind++];	      else		{		  if (opterr)		    fprintf (stderr,			   _("%s: option `%s' requires an argument\n"),			   argv[0], argv[optind - 1]);		  nextchar += strlen (nextchar);		  optopt = pfound->val;		  return optstring[0] == ':' ? ':' : '?';		}	    }	  nextchar += strlen (nextchar);	  if (longind != NULL)	    *longind = option_index;	  if (pfound->flag)	    {	      *(pfound->flag) = pfound->val;	      return 0;	    }	  return pfound->val;	}      /* Can't find it as a long option.  If this is not getopt_long_only,	 or the option starts with '--' or is not a valid short	 option, then it's an error.	 Otherwise interpret it as a short option.  */      if (!long_only || argv[optind][1] == '-'	  || my_index (optstring, *nextchar) == NULL)	{	  if (opterr)	    {	      if (argv[optind][1] == '-')		/* --option */		fprintf (stderr, _("%s: unrecognized option `--%s'\n"),			 argv[0], nextchar);	      else		/* +option or -option */		fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),			 argv[0], argv[optind][0], nextchar);	    }	  nextchar = (char *) "";	  optind++;	  optopt = 0;	  return '?';	}    }  /* Look at and handle the next short option-character.  */  {    char c = *nextchar++;    char *temp = my_index (optstring, c);    /* Increment `optind' when we start to process its last character.  */    if (*nextchar == '\0')      ++optind;    if (temp == NULL || c == ':')      {	if (opterr)	  {	    if (posixly_correct)	      /* 1003.2 specifies the format of this message.  */	      fprintf (stderr, _("%s: illegal option -- %c\n"),		       argv[0], c);	    else	      fprintf (stderr, _("%s: invalid option -- %c\n"),		       argv[0], c);	  }	optopt = c;	return '?';      }    /* Convenience. Treat POSIX -W foo same as long option --foo */    if (temp[0] == 'W' && temp[1] == ';')      {	char *nameend;	const struct option *p;	const struct option *pfound = NULL;	int exact = 0;	int ambig = 0;	int indfound = 0;	int option_index;	/* This is an option that requires an argument.  */	if (*nextchar != '\0')	  {	    optarg = nextchar;	    /* If we end this ARGV-element by taking the rest as an arg,	       we must advance to the next element now.  */	    optind++;	  }	else if (optind == argc)	  {	    if (opterr)	      {		/* 1003.2 specifies the format of this message.  */		fprintf (stderr, _("%s: option requires an argument -- %c\n"),			 argv[0], c);	      }	    optopt = c;	    if (optstring[0] == ':')	      c = ':';	    else	      c = '?';	    return c;	  }	else	  /* We already incremented `optind' once;	     increment it again when taking next ARGV-elt as argument.  */	  optarg = argv[optind++];	/* optarg is now the argument, see if it's in the	   table of longopts.  */	for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)	  /* Do nothing.  */ ;	/* Test all long options for either exact match	   or abbreviated matches.  */	for (p = longopts, option_index = 0; p->name; p++, option_index++)	  if (!strncmp (p->name, nextchar, nameend - nextchar))	    {	      if ((unsigned int) (nameend - nextchar) == strlen (p->name))		{		  /* Exact match found.  */		  pfound = p;		  indfound = option_index;		  exact = 1;		  break;		}	      else if (pfound == NULL)		{		  /* First nonexact match found.  */		  pfound = p;		  indfound = option_index;		}	      else		/* Second or later nonexact match found.  */		ambig = 1;	    }	if (ambig && !exact)	  {	    if (opterr)	      fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),		       argv[0], argv[optind]);	    nextchar += strlen (nextchar);	    optind++;	    return '?';	  }	if (pfound != NULL)	  {	    option_index = indfound;	    if (*nameend)	      {		/* Don't test has_arg with >, because some C compilers don't		   allow it to be used on enums.  */		if (pfound->has_arg)		  optarg = nameend + 1;		else		  {		    if (opterr)		      fprintf (stderr, _("\%s: option `-W %s' doesn't allow an argument\n"),			       argv[0], pfound->name);		    nextchar += strlen (nextchar);		    return '?';		  }	      }	    else if (pfound->has_arg == 1)	      {		if (optind < argc)		  optarg = argv[optind++];		else		  {		    if (opterr)		      fprintf (stderr,			       _("%s: option `%s' requires an argument\n"),			       argv[0], argv[optind - 1]);		    nextchar += strlen (nextchar);		    return optstring[0] == ':' ? ':' : '?';		  }	      }	    nextchar += strlen (nextchar);	    if (longind != NULL)	      *longind = option_index;	    if (pfound->flag)	      {		*(pfound->flag) = pfound->val;		return 0;	      }	    return pfound->val;	  }	  nextchar = NULL;	  return 'W';	/* Let the application handle it.   */      }    if (temp[1] == ':')      {	if (temp[2] == ':')	  {	    /* This is an option that accepts an argument optionally.  */	    if (*nextchar != '\0')	      {		optarg = nextchar;		optind++;	      }	    else	      optarg = NULL;	    nextchar = NULL;	  }	else	  {	    /* This is an option that requires an argument.  */	    if (*nextchar != '\0')	      {		optarg = nextchar;		/* If we end this ARGV-element by taking the rest as an arg,		   we must advance to the next element now.  */		optind++;	      }	    else if (optind == argc)	      {		if (opterr)		  {		    /* 1003.2 specifies the format of this message.  */		    fprintf (stderr,			   _("%s: option requires an argument -- %c\n"),			   argv[0], c);		  }		optopt = c;		if (optstring[0] == ':')		  c = ':';		else		  c = '?';	      }	    else	      /* We already incremented `optind' once;		 increment it again when taking next ARGV-elt as argument.  */	      optarg = argv[optind++];	    nextchar = NULL;	  }      }    return c;  }}intgetopt (argc, argv, optstring)     int argc;     char *const *argv;     const char *optstring;{  return _getopt_internal (argc, argv, optstring,			   (const struct option *) 0,			   (int *) 0,			   0);}#endif	/* Not ELIDE_CODE.  */#ifdef TEST/* Compile with -DTEST to make an executable for use in testing   the above definition of `getopt'.  */intmain (argc, argv)     int argc;     char **argv;{  int c;  int digit_optind = 0;  while (1)    {      int this_option_optind = optind ? optind : 1;      c = getopt (argc, argv, "abc:d:0123456789");      if (c == -1)	break;      switch (c)	{	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	  if (digit_optind != 0 && digit_optind != this_option_optind)	    printf ("digits occur in two different argv-elements.\n");	  digit_optind = this_option_optind;	  printf ("option %c\n", c);	  break;	case 'a':	  printf ("option a\n");	  break;	case 'b':	  printf ("option b\n");	  break;	case 'c':	  printf ("option c with value `%s'\n", optarg);	  break;	case '?':	  break;	default:	  printf ("?? getopt returned character code 0%o ??\n", c);	}    }  if (optind < argc)    {      printf ("non-option ARGV-elements: ");      while (optind < argc)	printf ("%s ", argv[optind++]);      printf ("\n");    }  exit (0);}#endif /* TEST */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合色中文字幕| 国产精品资源在线| 亚洲视频一区在线| 久久精品男人天堂av| 久久日韩精品一区二区五区| 日韩一区二区三免费高清| 在线播放欧美女士性生活| 欧美日韩中文一区| 欧美午夜电影网| 欧美三级韩国三级日本三斤| 欧美在线看片a免费观看| 99精品欧美一区| 91在线免费看| 色偷偷久久一区二区三区| 在线亚洲一区二区| 欧美亚洲丝袜传媒另类| 欧美伦理电影网| 日韩一区二区电影| 精品国内片67194| 久久亚洲一区二区三区四区| 精品久久一二三区| 久久天堂av综合合色蜜桃网 | 91黄视频在线观看| 91黄色激情网站| 91福利在线看| 欧美亚一区二区| 欧美三级乱人伦电影| 欧美高清www午色夜在线视频| 欧美性感一区二区三区| 欧美综合视频在线观看| 在线看不卡av| 欧美日韩精品一区二区| 欧美一区二区三区视频在线| 777午夜精品免费视频| 日韩一区二区三区高清免费看看| 日韩精品一区二区三区在线观看| 欧美成人video| 久久久噜噜噜久久人人看| 国产精品欧美久久久久无广告| 国产精品电影院| 一区二区三区成人| 日韩av成人高清| 国产一区二区三区日韩| 国产在线精品免费av| 青青草91视频| 日韩电影一区二区三区四区| 日产精品久久久久久久性色| 亚洲国产一二三| 免费在线欧美视频| 国产精品一区二区久激情瑜伽 | 久久成人免费电影| 国产精品综合av一区二区国产馆| 不卡的av在线播放| 91国偷自产一区二区开放时间 | 国产亚洲精品7777| 国产欧美日韩视频在线观看| 亚洲免费成人av| 亚洲综合免费观看高清在线观看 | 国产一区二区在线观看免费| 免费在线观看视频一区| 日韩高清不卡一区二区| 国产精品资源在线观看| 色嗨嗨av一区二区三区| 欧美精品日日鲁夜夜添| 国产亚洲欧洲一区高清在线观看| 亚洲天堂久久久久久久| 亚洲综合视频在线| 韩国av一区二区三区在线观看| 99精品国产91久久久久久| 欧美精品一卡二卡| 日韩精品在线网站| 亚洲一区二区三区在线看| 国内精品第一页| 日本乱人伦aⅴ精品| 欧美变态tickling挠脚心| 亚洲欧洲国产日韩| 老司机精品视频在线| av爱爱亚洲一区| 26uuu国产一区二区三区| 一个色综合网站| 国产成人免费视频网站| 91精品国产91综合久久蜜臀| 国产精品麻豆欧美日韩ww| 久久国产日韩欧美精品| 91久久国产最好的精华液| 久久久99精品久久| 午夜精品久久久久久久99樱桃| 成人影视亚洲图片在线| 欧美一级黄色录像| 亚洲va在线va天堂| av一本久道久久综合久久鬼色| 欧美日韩国产综合一区二区| 国产精品视频你懂的| 日韩电影一二三区| 国产高清不卡一区二区| 精品女同一区二区| 午夜精品久久久久久久久久久| 国产成人精品免费在线| 亚洲精品一区二区三区在线观看| 亚洲一区二区三区在线播放| 91日韩一区二区三区| 欧美高清一级片在线观看| 麻豆91在线播放免费| 欧美色区777第一页| 136国产福利精品导航| 国产成人啪午夜精品网站男同| 欧美色图在线观看| 欧美国产精品劲爆| 国产精品538一区二区在线| 日韩一区二区三区四区| 亚洲成人av中文| 在线一区二区三区四区| 亚洲男人的天堂网| av一区二区久久| 中文字幕在线不卡视频| 成人av在线资源网站| 国产精品天干天干在观线| 国产成人精品一区二区三区四区 | 欧美xxx久久| 丝袜亚洲另类丝袜在线| 777欧美精品| 日日夜夜精品视频免费| 欧美日韩日日摸| 亚洲电影中文字幕在线观看| 欧美在线制服丝袜| 亚洲综合一二三区| 欧美三级视频在线播放| 亚洲成在线观看| 欧美精品久久一区二区三区| 亚欧色一区w666天堂| 欧美日韩不卡一区二区| 午夜久久电影网| 欧美电影在哪看比较好| 亚洲乱码中文字幕综合| 91精品1区2区| 日韩国产欧美在线观看| 欧美一区二区三区四区久久| 美女一区二区在线观看| 精品国产亚洲在线| 成人午夜碰碰视频| 国产精品久久毛片a| 成人黄色电影在线| 亚洲三级在线看| 欧美日韩免费在线视频| 久久国产精品一区二区| 国产视频一区二区在线| 91麻豆6部合集magnet| 午夜精品视频在线观看| 亚洲精品在线观看网站| 99久久伊人精品| 亚洲午夜久久久久久久久电影院 | 99久久亚洲一区二区三区青草 | 国产精品乱码一区二区三区软件| 91视频精品在这里| 爽好多水快深点欧美视频| 337p粉嫩大胆色噜噜噜噜亚洲| 国产高清不卡一区| 一区二区三区成人| 日韩你懂的在线播放| 成人v精品蜜桃久久一区| 亚洲专区一二三| 欧美日本韩国一区| 日本不卡一区二区| 日韩一区在线免费观看| 欧美老女人第四色| 国产成a人亚洲精| 亚洲国产精品久久不卡毛片| 精品久久久久久久久久久久包黑料 | 黑人精品欧美一区二区蜜桃| 国产精品久久久久毛片软件| 欧美日韩一级视频| 久久国产生活片100| 国产精品66部| 国产欧美一区二区三区在线看蜜臀 | 一区在线中文字幕| 91成人免费电影| 久久精品久久综合| 亚洲同性同志一二三专区| 欧美精品第一页| 国产ts人妖一区二区| 天堂va蜜桃一区二区三区 | www.欧美亚洲| 91美女在线看| 久久av资源站| 中文在线资源观看网站视频免费不卡| 在线观看av一区二区| 亚洲三级小视频| 日韩欧美中文字幕精品| 99精品国产视频| 国产亚洲精品福利| 高清在线不卡av| 欧洲精品一区二区三区在线观看| 精久久久久久久久久久| 国产精品久久网站| 精品久久一区二区三区| 在线看国产一区| 高潮精品一区videoshd| 午夜久久久久久久久久一区二区| 中文字幕av一区二区三区| 欧美三级欧美一级|