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

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

?? getopt.c

?? 站點映像程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
	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| 色94色欧美sute亚洲线路二 | 国产ts人妖一区二区| 日本一区二区三级电影在线观看| 国产一区二区三区综合| 久久精品男人天堂av| 粉嫩av一区二区三区在线播放| 国产精品免费av| 欧美最新大片在线看 | 久久亚洲综合色| 国产成人av福利| 亚洲精选一二三| 欧美精品色一区二区三区| 精品一二三四区| 中日韩av电影| 欧美日韩国产免费| 九九精品一区二区| 国产精品国产自产拍在线| 色噜噜狠狠色综合欧洲selulu| 视频一区在线播放| 国产亚洲人成网站| 欧洲色大大久久| 蜜臀国产一区二区三区在线播放| 久久精品亚洲一区二区三区浴池 | 97精品国产97久久久久久久久久久久 | 日韩av不卡一区二区| 久久女同互慰一区二区三区| 91免费看片在线观看| 久久精品免费看| 亚洲美女偷拍久久| 亚洲精品一区二区三区香蕉| 91美女在线视频| 久久成人免费网| 一区二区三区加勒比av| 欧美精品一区二区三| 日本韩国欧美在线| 国产一区二区三区日韩| 一个色在线综合| 久久丝袜美腿综合| 欧美日韩国产精选| 色综合久久综合中文综合网| 九一九一国产精品| 午夜视频在线观看一区二区三区 | 日韩三级av在线播放| 99久久国产综合色|国产精品| 免费成人你懂的| 亚洲精品国产精品乱码不99| 久久精品人人做人人综合| 91精品国产欧美一区二区18| 91美女在线看| 不卡一区二区在线| 韩国精品久久久| 日韩一区精品字幕| 亚洲欧美激情视频在线观看一区二区三区| 精品久久人人做人人爽| 欧美日韩国产区一| 欧美伊人久久久久久久久影院| 国产成人午夜电影网| 久久精品72免费观看| 国产在线精品免费| 日韩视频永久免费| 欧美巨大另类极品videosbest | 国产精品资源网| 首页国产欧美久久| 午夜精品久久一牛影视| 亚洲在线视频免费观看| 亚洲乱码国产乱码精品精可以看 | 亚洲国产一区二区三区| 中文字幕日韩av资源站| 欧美经典一区二区| 国产色91在线| 欧美韩国日本一区| 中文字幕第一区| 国产精品无圣光一区二区| 久久先锋影音av| 国产欧美精品国产国产专区 | 精品国产精品一区二区夜夜嗨| www.欧美色图| 北岛玲一区二区三区四区| 国产激情精品久久久第一区二区| 国产永久精品大片wwwapp| 日韩成人一级片| 麻豆国产精品官网| 激情综合色丁香一区二区| 精品在线免费观看| 国产精品 欧美精品| 成人理论电影网| 色综合久久天天| 欧美日韩一区二区三区四区| 欧美日韩久久不卡| 欧美一级片免费看| 精品国产污网站| 久久精品人人做人人爽人人| 国产日韩视频一区二区三区| 最新国产成人在线观看| 亚洲成人免费av| 美国十次综合导航| 国产黄色91视频| 97成人超碰视| 欧美日韩电影在线| 亚洲精品一区二区三区影院| 亚洲视频一二区| 偷窥少妇高潮呻吟av久久免费| 久久国产精品区| 成人午夜激情影院| 欧美日韩视频第一区| 欧美电影精品一区二区| 国产精品女同一区二区三区| 亚洲国产美国国产综合一区二区| 麻豆精品蜜桃视频网站| 不卡一区二区在线| 欧美一级免费大片| 中文字幕av不卡| 日日骚欧美日韩| 国产成人av电影| 777亚洲妇女| 中文字幕av不卡| 日韩制服丝袜先锋影音| 国产成人精品免费| 欧美男生操女生| 国产精品视频一二三| 天堂成人国产精品一区| 国产成人精品免费在线| 欧美久久一二三四区| 国产午夜精品久久| 午夜精品视频一区| 91一区二区在线| 久久伊99综合婷婷久久伊| 亚洲成人精品一区二区| 国产成a人亚洲精| 精品日韩99亚洲| 一区二区三区在线免费观看| 国产一二三精品| 欧美理论在线播放| 亚洲欧美日韩一区二区三区在线观看| 激情综合色丁香一区二区| 欧美日韩视频在线第一区| 日韩美女久久久| 国产精品1024久久| 欧美变态tickling挠脚心| 亚洲国产wwwccc36天堂| 97精品视频在线观看自产线路二| 久久精品夜色噜噜亚洲a∨| 免费在线一区观看| 欧美日韩不卡在线| 亚洲人成精品久久久久久| 国产99一区视频免费| 精品乱人伦小说| 偷窥国产亚洲免费视频| 欧美性生活影院| 亚洲欧美日韩国产综合| 成人avav影音| 欧美国产日韩a欧美在线观看| 久久成人18免费观看| 欧美亚洲一区二区在线| 亚洲欧美色综合| 成人不卡免费av| 国产精品美女久久久久久久| 国产精品亚洲专一区二区三区| 日韩美女一区二区三区| 日本不卡一区二区三区高清视频| 欧美在线三级电影| 一区二区三区在线观看网站| 色综合久久久网| 一区二区在线看| 欧洲国产伦久久久久久久| 一区二区三区小说| 在线亚洲高清视频| 亚洲高清免费观看高清完整版在线观看 | 国产高清精品在线| 久久久精品影视| 国产成人免费在线| 国产欧美日韩综合精品一区二区| 国产伦精品一区二区三区免费| 精品乱码亚洲一区二区不卡| 精品一区二区三区在线播放| 精品久久久久久久久久久久久久久久久 | 视频在线观看91| 日韩一本二本av| 国产一区二区美女诱惑| 亚洲国产精品二十页| www.欧美色图| 亚洲一区二区三区在线播放| 精品污污网站免费看| 美国av一区二区| 国产亚洲欧美日韩日本| av亚洲精华国产精华精华| 亚洲精品ww久久久久久p站| 欧美日韩高清一区二区不卡| 日韩经典一区二区| 久久久久久亚洲综合| 99久久综合狠狠综合久久| 一区二区三区.www| 日韩欧美色综合网站| 国产黄人亚洲片| 亚洲一级二级在线| 久久亚洲一区二区三区明星换脸 | 狠狠色丁香久久婷婷综合_中 | 免费成人小视频|