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

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

?? cplus-dem.c

?? Vxworks OS source code
?? C
?? 第 1 頁 / 共 5 頁
字號:
  while (i < len0)    {      at_start_name = 0;            if (i < len0 - 2 && mangled[i] == '_' && mangled[i + 1] == '_')	{	  demangled[j] = '.';	  changed = at_start_name = 1;	  i += 2; j += 1;	}      else	{	  demangled[j] = mangled[i];	  i += 1;  j += 1;	}    }  demangled[j] = '\000';    for (i = 0; demangled[i] != '\0'; i += 1)    if (ISUPPER ((unsigned char)demangled[i]) || demangled[i] == ' ')      goto Suppress;  if (! changed)    return NULL;  else    return demangled;   Suppress:  grow_vect ((void **) &(demangling_buffer),	     &demangling_buffer_size,  strlen (mangled) + 3,	     sizeof (char));  demangled = demangling_buffer;  if (mangled[0] == '<')     strcpy (demangled, mangled);  else    sprintf (demangled, "<%s>", mangled);  return demangled;}extern void decode_identifier(char      *id,                       char      *output_buffer,                       size_t  output_buffer_size,                       int *err,                       int *buffer_overflow_err,                       size_t  *required_buffer_size);static char *edg_demangle (mangled, option)     const char *mangled;     int option ATTRIBUTE_UNUSED;{  char *demangled_id = 0;  int err;  int buffer_overflow_err = 1;  size_t buffer_size = 1024;  while (buffer_overflow_err)    {      demangled_id = xrealloc(demangled_id, buffer_size);      decode_identifier(mangled, demangled_id, (size_t) buffer_size,			&err, &buffer_overflow_err, &buffer_size);    }  if (err) {    free (demangled_id);    return (char *)0;  }  return demangled_id;}/* This function performs most of what cplus_demangle use to do, but   to be able to demangle a name with a B, K or n code, we need to   have a longer term memory of what types have been seen. The original   now intializes and cleans up the squangle code info, while internal   calls go directly to this routine to avoid resetting that info. */static char *internal_cplus_demangle (work, mangled)     struct work_stuff *work;     const char *mangled;{  string decl;  int success = 0;  char *demangled = NULL;  int s1, s2, s3, s4;  s1 = work->constructor;  s2 = work->destructor;  s3 = work->static_type;  s4 = work->type_quals;  work->constructor = work->destructor = 0;  work->type_quals = TYPE_UNQUALIFIED;  work->dllimported = 0;  if ((mangled != NULL) && (*mangled != '\0'))    {      string_init (&decl);      /* First check to see if gnu style demangling is active and if the	 string to be demangled contains a CPLUS_MARKER.  If so, attempt to	 recognize one of the gnu special forms rather than looking for a	 standard prefix.  In particular, don't worry about whether there	 is a "__" string in the mangled string.  Consider "_$_5__foo" for	 example.  */      if ((AUTO_DEMANGLING || GNU_DEMANGLING))	{	  success = gnu_special (work, &mangled, &decl);	}      if (!success)	{	  success = demangle_prefix (work, &mangled, &decl);	}      if (success && (*mangled != '\0'))	{	  success = demangle_signature (work, &mangled, &decl);	}      if (work->constructor == 2)        {          string_prepend (&decl, "global constructors keyed to ");          work->constructor = 0;        }      else if (work->destructor == 2)        {          string_prepend (&decl, "global destructors keyed to ");          work->destructor = 0;        }      else if (work->dllimported == 1)        {          string_prepend (&decl, "import stub for ");          work->dllimported = 0;        }      demangled = mop_up (work, &decl, success);    }  work->constructor = s1;  work->destructor = s2;  work->static_type = s3;  work->type_quals = s4;  return demangled;}/* Clear out and squangling related storage */static voidsquangle_mop_up (work)     struct work_stuff *work;{  /* clean up the B and K type mangling types. */  forget_B_and_K_types (work);  if (work -> btypevec != NULL)    {      free ((char *) work -> btypevec);    }  if (work -> ktypevec != NULL)    {      free ((char *) work -> ktypevec);    }}/* Copy the work state and storage.  */static voidwork_stuff_copy_to_from (to, from)     struct work_stuff *to;     struct work_stuff *from;{  int i;  delete_work_stuff (to);  /* Shallow-copy scalars.  */  memcpy (to, from, sizeof (*to));  /* Deep-copy dynamic storage.  */  if (from->typevec_size)    to->typevec      = (char **) xmalloc (from->typevec_size * sizeof (to->typevec[0]));  for (i = 0; i < from->ntypes; i++)    {      int len = strlen (from->typevec[i]) + 1;      to->typevec[i] = xmalloc (len);      memcpy (to->typevec[i], from->typevec[i], len);    }  if (from->ksize)    to->ktypevec      = (char **) xmalloc (from->ksize * sizeof (to->ktypevec[0]));  for (i = 0; i < from->numk; i++)    {      int len = strlen (from->ktypevec[i]) + 1;      to->ktypevec[i] = xmalloc (len);      memcpy (to->ktypevec[i], from->ktypevec[i], len);    }  if (from->bsize)    to->btypevec      = (char **) xmalloc (from->bsize * sizeof (to->btypevec[0]));  for (i = 0; i < from->numb; i++)    {      int len = strlen (from->btypevec[i]) + 1;      to->btypevec[i] = xmalloc (len);      memcpy (to->btypevec[i], from->btypevec[i], len);    }  if (from->ntmpl_args)    to->tmpl_argvec      = xmalloc (from->ntmpl_args * sizeof (to->tmpl_argvec[0]));  for (i = 0; i < from->ntmpl_args; i++)    {      int len = strlen (from->tmpl_argvec[i]) + 1;      to->tmpl_argvec[i] = xmalloc (len);      memcpy (to->tmpl_argvec[i], from->tmpl_argvec[i], len);    }  if (from->previous_argument)    {      to->previous_argument = (string*) xmalloc (sizeof (string));      string_init (to->previous_argument);      string_appends (to->previous_argument, from->previous_argument);    }}/* Delete dynamic stuff in work_stuff that is not to be re-used.  */static voiddelete_non_B_K_work_stuff (work)     struct work_stuff *work;{  /* Discard the remembered types, if any.  */  forget_types (work);  if (work -> typevec != NULL)    {      free ((char *) work -> typevec);      work -> typevec = NULL;      work -> typevec_size = 0;    }  if (work->tmpl_argvec)    {      int i;      for (i = 0; i < work->ntmpl_args; i++)	if (work->tmpl_argvec[i])	  free ((char*) work->tmpl_argvec[i]);      free ((char*) work->tmpl_argvec);      work->tmpl_argvec = NULL;    }  if (work->previous_argument)    {      string_delete (work->previous_argument);      free ((char*) work->previous_argument);      work->previous_argument = NULL;    }}/* Delete all dynamic storage in work_stuff.  */static voiddelete_work_stuff (work)     struct work_stuff *work;{  delete_non_B_K_work_stuff (work);  squangle_mop_up (work);}/* Clear out any mangled storage */static char *mop_up (work, declp, success)     struct work_stuff *work;     string *declp;     int success;{  char *demangled = NULL;  delete_non_B_K_work_stuff (work);  /* If demangling was successful, ensure that the demangled string is null     terminated and return it.  Otherwise, free the demangling decl.  */  if (!success)    {      string_delete (declp);    }  else    {      string_appendn (declp, "", 1);      demangled = declp->b;    }  return (demangled);}/*LOCAL FUNCTION	demangle_signature -- demangle the signature part of a mangled nameSYNOPSIS	static int	demangle_signature (struct work_stuff *work, const char **mangled,			    string *declp);DESCRIPTION	Consume and demangle the signature portion of the mangled name.	DECLP is the string where demangled output is being built.  At	entry it contains the demangled root name from the mangled name	prefix.  I.E. either a demangled operator name or the root function	name.  In some special cases, it may contain nothing.	*MANGLED points to the current unconsumed location in the mangled	name.  As tokens are consumed and demangling is performed, the	pointer is updated to continuously point at the next token to	be consumed.	Demangling GNU style mangled names is nasty because there is no	explicit token that marks the start of the outermost function	argument list.  */static intdemangle_signature (work, mangled, declp)     struct work_stuff *work;     const char **mangled;     string *declp;{  int success = 1;  int func_done = 0;  int expect_func = 0;  int expect_return_type = 0;  const char *oldmangled = NULL;  string trawname;  string tname;  while (success && (**mangled != '\0'))    {      switch (**mangled)	{	case 'Q':	  oldmangled = *mangled;	  success = demangle_qualified (work, mangled, declp, 1, 0);	  if (success)	    remember_type (work, oldmangled, *mangled - oldmangled);	  if (AUTO_DEMANGLING || GNU_DEMANGLING)	    expect_func = 1;	  oldmangled = NULL;	  break;        case 'K':	  oldmangled = *mangled;	  success = demangle_qualified (work, mangled, declp, 1, 0);	  if (AUTO_DEMANGLING || GNU_DEMANGLING)	    {	      expect_func = 1;	    }	  oldmangled = NULL;	  break;	case 'S':	  /* Static member function */	  if (oldmangled == NULL)	    {	      oldmangled = *mangled;	    }	  (*mangled)++;	  work -> static_type = 1;	  break;	case 'C':	case 'V':	case 'u':	  work->type_quals |= code_for_qualifier (**mangled);	  /* a qualified member function */	  if (oldmangled == NULL)	    oldmangled = *mangled;	  (*mangled)++;	  break;	case 'L':	  /* Local class name follows after "Lnnn_" */	  if (HP_DEMANGLING)	    {	      while (**mangled && (**mangled != '_'))		(*mangled)++;	      if (!**mangled)		success = 0;	      else		(*mangled)++;	    }	  else	    success = 0;	  break;	case '0': case '1': case '2': case '3': case '4':	case '5': case '6': case '7': case '8': case '9':	  if (oldmangled == NULL)	    {	      oldmangled = *mangled;	    }          work->temp_start = -1; /* uppermost call to demangle_class */	  success = demangle_class (work, mangled, declp);	  if (success)	    {	      remember_type (work, oldmangled, *mangled - oldmangled);	    }	  if (AUTO_DEMANGLING || GNU_DEMANGLING || EDG_DEMANGLING)	    {              /* EDG and others will have the "F", so we let the loop cycle                 if we are looking at one. */              if (**mangled != 'F')                 expect_func = 1;	    }	  oldmangled = NULL;	  break;	case 'B':	  {	    string s;	    success = do_type (work, mangled, &s);	    if (success)	      {		string_append (&s, SCOPE_STRING (work));		string_prepends (declp, &s);	      }	    oldmangled = NULL;	    expect_func = 1;	  }	  break;	case 'F':	  /* Function */	  /* ARM/HP style demangling includes a specific 'F' character after	     the class name.  For GNU style, it is just implied.  So we can	     safely just consume any 'F' at this point and be compatible	     with either style.  */	  oldmangled = NULL;	  func_done = 1;	  (*mangled)++;	  /* For lucid/ARM/HP style we have to forget any types we might	     have remembered up to this point, since they were not argument	     types.  GNU style considers all types seen as available for	     back references.  See comment in demangle_args() */	  if (LUCID_DEMANGLING || ARM_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING)	    {	      forget_types (work);	    }	  success = demangle_args (work, mangled, declp);	  /* After picking off the function args, we expect to either	     find the function return type (preceded by an '_') or the	     end of the string. */	  if (success && (AUTO_DEMANGLING || EDG_DEMANGLING) && **mangled == '_')	    {	      ++(*mangled);              /* At this level, we do not care about the return type. */              success = do_type (work, mangled, &tname);              string_delete (&tname);            }	  break;	case 't':	  /* G++ Template */	  string_init(&trawname);	  string_init(&tname);	  if (oldmangled == NULL)	    {	      oldmangled = *mangled;	    }	  success = demangle_template (work, mangled, &tname,				       &trawname, 1, 1);	  if (success)	    {	      remember_type (work, oldmangled, *mangled - oldmangled);	    }	  string_append (&tname, SCOPE_STRING (work));	  string_prepends(declp, &tname);	  if (work -> destructor & 1)	    {	      string_prepend (&trawname, "~");	      string_appends (declp, &trawname);	      work->destructor -= 1;	    }	  if ((work->constructor & 1) || (work->destructor & 1))	    {	      string_appends (declp, &trawname);	      work->constructor -= 1;	    }	  string_delete(&trawname);	  string_delete(&tname);	  oldmangled = NULL;	  expect_func = 1;	  break;	case '_':	  if ((AUTO_DEMANGLING || GNU_DEMANGLING) && expect_return_type)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色综合系列| 亚洲一区在线电影| 欧美精选在线播放| 色婷婷狠狠综合| 一本久久综合亚洲鲁鲁五月天| 成人丝袜高跟foot| 成人黄色片在线观看| 成人午夜在线免费| 成人h动漫精品一区二| 91小视频在线观看| 在线视频中文字幕一区二区| 欧美无砖专区一中文字| 宅男在线国产精品| 欧美成人三级在线| 国产日韩高清在线| 亚洲视频一二三| 丝袜美腿亚洲综合| 黑人巨大精品欧美一区| 成人国产精品免费观看动漫| 日本精品视频一区二区| 51久久夜色精品国产麻豆| 精品精品国产高清a毛片牛牛 | 日本一区二区三区久久久久久久久不| wwww国产精品欧美| 国产精品久久久久久久久快鸭 | 国产午夜精品美女毛片视频| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美日韩一区二区电影| 7777精品伊人久久久大香线蕉超级流畅 | 欧美极品xxx| 有码一区二区三区| 狠狠色丁香久久婷婷综| 精品少妇一区二区三区在线播放 | 国产午夜亚洲精品理论片色戒| 中文字幕免费不卡| 亚洲va天堂va国产va久| 国产99久久久国产精品潘金网站| 91美女在线看| 久久奇米777| 亚洲3atv精品一区二区三区| 激情小说欧美图片| 在线免费不卡电影| 国产精品久久久久一区二区三区 | 在线观看日韩精品| 久久精品男人天堂av| 香蕉久久一区二区不卡无毒影院| 国产伦理精品不卡| 欧美疯狂做受xxxx富婆| 亚洲欧美成人一区二区三区| 国产麻豆精品在线观看| 日韩亚洲欧美成人一区| 亚洲成在人线免费| 97aⅴ精品视频一二三区| 久久久精品天堂| 看电视剧不卡顿的网站| 91精品国产高清一区二区三区蜜臀| 欧美国产一区在线| 国产精品亚洲第一区在线暖暖韩国| 欧美乱妇20p| 亚洲一区二区三区国产| 91美女蜜桃在线| 中文文精品字幕一区二区| 久久精品国产精品亚洲精品| 777a∨成人精品桃花网| 日韩主播视频在线| 欧美午夜视频网站| 亚洲一级二级三级| 在线一区二区三区四区五区| 综合激情成人伊人| 成人av片在线观看| 国产精品视频在线看| 福利一区在线观看| 国产片一区二区| 成人亚洲一区二区一| 国产欧美va欧美不卡在线| 国产麻豆精品一区二区| 国产日韩一级二级三级| 丁香婷婷综合色啪| 亚洲免费观看高清| 日本乱人伦aⅴ精品| 亚洲在线视频网站| 3d成人动漫网站| 日本亚洲最大的色成网站www| 欧美一区二区三区免费大片 | 国产精品系列在线观看| 国产视频一区二区三区在线观看 | 亚洲成人av一区二区| 欧美日韩精品综合在线| 五月天一区二区三区| 欧美成人精品1314www| 国产成人精品一区二区三区网站观看| 国产午夜精品一区二区三区嫩草| 成人在线视频一区二区| 伊人色综合久久天天| 欧美美女直播网站| 精品一区二区三区免费毛片爱| 国产亚洲欧美一区在线观看| av在线综合网| 日本美女一区二区| 国产精品午夜在线观看| 欧美影片第一页| 日本大胆欧美人术艺术动态| 欧美国产日韩在线观看| 在线日韩av片| 国产福利精品一区二区| 亚洲精品免费在线观看| 日韩午夜激情电影| 波多野结衣精品在线| 日韩精品电影一区亚洲| 日本一区二区三区四区| 欧美猛男gaygay网站| 成人免费视频免费观看| 午夜精品久久久久久久99水蜜桃| www久久久久| 欧美日韩精品高清| 成人精品一区二区三区四区| 日韩精彩视频在线观看| 国产精品视频免费看| 欧美电视剧免费全集观看| 91黄色免费版| 国产高清在线观看免费不卡| 日韩高清不卡一区| 亚洲欧美偷拍三级| 久久精品网站免费观看| 3d成人h动漫网站入口| 91福利小视频| av在线免费不卡| 岛国精品一区二区| 韩国女主播成人在线| 日本不卡不码高清免费观看| 亚洲日本在线观看| 国产亚洲福利社区一区| 91麻豆精品国产91| 在线免费观看一区| 色狠狠桃花综合| 99re热视频这里只精品| 国产99精品在线观看| 国内成人精品2018免费看| 日本在线不卡视频| 秋霞午夜鲁丝一区二区老狼| 午夜天堂影视香蕉久久| 一区二区三区在线视频播放| 亚洲色图丝袜美腿| 亚洲人成网站精品片在线观看 | 91国产精品成人| 一本一道久久a久久精品| 99久久综合国产精品| 国产成人午夜高潮毛片| 国产99久久久国产精品免费看| 国产一区欧美一区| 国产一区二区三区国产| 国内精品久久久久影院薰衣草 | 亚洲色图都市小说| 国产精品乱人伦中文| 国产精品国产馆在线真实露脸| 国产欧美一区二区精品忘忧草 | 午夜不卡av在线| 午夜久久久久久久久| 日韩**一区毛片| 韩国三级中文字幕hd久久精品| 九九在线精品视频| 国产剧情在线观看一区二区| 成人中文字幕在线| 色综合久久久久久久久久久| 欧美在线啊v一区| 7777精品久久久大香线蕉| 日韩欧美一区二区不卡| 久久久一区二区三区| 国产精品传媒入口麻豆| 一区二区三区小说| 亚洲一区二区高清| 麻豆成人久久精品二区三区小说| 精品亚洲国产成人av制服丝袜| 国产成人在线视频网址| 欧美在线观看你懂的| 日韩免费成人网| 中文字幕一区二区三中文字幕| 亚洲综合视频网| 麻豆视频观看网址久久| 成人精品gif动图一区| 欧美日韩你懂的| 久久久99精品久久| 一区二区三区四区在线免费观看| 免费av成人在线| 99精品视频一区| 日韩一区二区在线观看视频播放 | 一本色道综合亚洲| 精品欧美黑人一区二区三区| 国产精品成人在线观看| 日本欧美在线看| 91美女在线看| 久久精品亚洲一区二区三区浴池| 综合久久综合久久| 国产一区二区网址| 91国在线观看| 国产三区在线成人av| 性做久久久久久免费观看欧美| 国产黄色精品网站| 在线播放亚洲一区| 一二三四社区欧美黄|