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

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

?? getopt.c

?? minicom2.0源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	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一区二区三区免费野_久草精品视频
在线精品视频免费观看| 精久久久久久久久久久| 91在线免费播放| 亚洲欧美自拍偷拍| 色噜噜久久综合| 亚洲五码中文字幕| 欧美日韩高清影院| 久久av老司机精品网站导航| 26uuu欧美| 99视频热这里只有精品免费| 亚洲丝袜自拍清纯另类| 欧美三区免费完整视频在线观看| 亚洲电影激情视频网站| 精品久久久久久久人人人人传媒 | 日韩一区二区精品在线观看| 蜜臀av一区二区在线观看 | 99热在这里有精品免费| 亚洲激情五月婷婷| 91精品国产综合久久久久久漫画| 麻豆国产精品一区二区三区 | 亚洲精品免费视频| 91精品国产综合久久精品app | 国产精品国产精品国产专区不蜜 | 国内精品第一页| 国产精品家庭影院| 777久久久精品| 国产精品一线二线三线| 最新热久久免费视频| 5月丁香婷婷综合| 成人av资源在线| 亚洲bt欧美bt精品777| 久久久777精品电影网影网| 色哟哟精品一区| 精品一区二区久久| 一二三区精品福利视频| 久久综合久久综合亚洲| 色av成人天堂桃色av| 精品一区二区在线免费观看| 一区二区三区精品久久久| 精品国产123| 欧美日韩久久久| 风间由美中文字幕在线看视频国产欧美| 一二三四社区欧美黄| 国产午夜精品理论片a级大结局| 色一区在线观看| 国产成人自拍网| 日韩黄色免费电影| 亚洲综合在线五月| 国产精品午夜在线| 日韩午夜在线观看视频| 欧美在线免费播放| aaa国产一区| 国产精品乡下勾搭老头1| 日本免费在线视频不卡一不卡二| 亚洲另类在线视频| 国产精品三级视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 中文字幕精品一区| 欧美成人精品1314www| 欧美亚日韩国产aⅴ精品中极品| 成人av资源网站| 国产精品69毛片高清亚洲| 另类的小说在线视频另类成人小视频在线 | 国产在线精品一区二区不卡了| 午夜精品久久久久久久久| 最近中文字幕一区二区三区| 国产色婷婷亚洲99精品小说| 精品美女一区二区三区| 在线观看91精品国产麻豆| 欧美性受xxxx黑人xyx性爽| 99国产精品99久久久久久| 高清成人在线观看| 国产精品99久久久| 国产剧情一区二区| 国产一区二区免费看| 国产精品99久久久久久久女警| 国产精品一区免费视频| 国模少妇一区二区三区| 韩国精品在线观看| 国产黄色91视频| 国产精品白丝jk黑袜喷水| 国产伦精品一区二区三区视频青涩| 捆绑变态av一区二区三区| 裸体一区二区三区| 国内国产精品久久| 成人av手机在线观看| 99精品久久免费看蜜臀剧情介绍| eeuss鲁一区二区三区| 99re免费视频精品全部| 色综合久久天天| 欧美撒尿777hd撒尿| 欧美久久久影院| 日韩亚洲欧美在线| 久久久久国产精品免费免费搜索| 国产人成亚洲第一网站在线播放 | 欧美电影精品一区二区| 精品日产卡一卡二卡麻豆| 久久久久久日产精品| 国产精品卡一卡二卡三| 亚洲欧洲日韩女同| 亚洲国产精品久久人人爱蜜臀| 日本免费新一区视频| 丁香激情综合五月| 色综合久久中文字幕| 91麻豆精品国产91久久久| 亚洲精品一区二区三区影院 | 一区二区三区欧美激情| 视频一区视频二区中文| 国内成人免费视频| 色综合中文字幕| 日韩一二在线观看| 欧美国产亚洲另类动漫| 亚洲一区二区三区中文字幕在线| 日韩av高清在线观看| 国产成人精品在线看| 欧美性猛片aaaaaaa做受| 精品久久久久久久久久久久久久久久久 | 亚洲午夜激情网站| 国产一区二区三区免费在线观看 | 精品视频一区 二区 三区| 精品久久久久久久久久久久久久久 | 国产调教视频一区| 亚欧色一区w666天堂| 成人午夜免费av| 欧美精品黑人性xxxx| 国产精品乱人伦| 蜜桃av一区二区三区电影| 91丨九色丨尤物| 精品国产乱码久久久久久久久| 日韩理论片在线| 国内精品免费在线观看| 欧美午夜精品一区二区三区| 久久精品视频在线看| 亚洲r级在线视频| 成人免费三级在线| 日韩一级二级三级精品视频| 一区二区三区在线不卡| 国产精品白丝jk白祙喷水网站| 欧美人妇做爰xxxⅹ性高电影| 国产精品美女一区二区在线观看| 奇米色一区二区| 日本丰满少妇一区二区三区| 久久精品综合网| 精品综合免费视频观看| 欧美日韩日日摸| 亚洲女人的天堂| www.爱久久.com| 国产亚洲精品免费| 国产一区欧美二区| 欧美xxxx老人做受| 日本一区中文字幕| 欧美巨大另类极品videosbest| 亚洲美女在线一区| 99综合电影在线视频| 国产精品每日更新| 高清不卡一二三区| 久久久久久一级片| 国产乱码精品一品二品| 日韩精品一区二区三区在线| 日韩电影在线一区二区三区| 欧美日韩国产综合草草| 一区二区三区自拍| 在线视频中文字幕一区二区| 亚洲人成人一区二区在线观看 | 精品在线观看视频| 日韩欧美www| 激情综合色综合久久| 欧美不卡视频一区| 狠狠色综合日日| 国产午夜精品美女毛片视频| 国产精品亚洲人在线观看| 国产日产欧美精品一区二区三区| 国产经典欧美精品| 国产精品视频一二| 一本久久a久久免费精品不卡| 亚洲欧美一区二区久久| 欧美在线制服丝袜| 视频一区视频二区中文字幕| 日韩一区二区三区视频在线观看| 免费人成在线不卡| 久久精品一区二区三区四区| 成人免费高清视频| 亚洲精品日韩综合观看成人91| 欧美性受xxxx黑人xyx性爽| 日韩综合在线视频| 久久综合视频网| 91一区二区在线观看| 亚洲一区在线观看视频| 日韩一级片网址| 国产精品1024| 亚洲免费观看高清完整版在线观看熊| 欧美在线免费观看视频| 蜜臀91精品一区二区三区| 久久亚洲精华国产精华液| 成人久久18免费网站麻豆| 一卡二卡三卡日韩欧美| 日韩视频一区在线观看| 不卡的av电影| 爽爽淫人综合网网站| 久久久国产精品午夜一区ai换脸|