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

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

?? dcigettext.c

?? 磁盤管理工具,主要管理光盤信息和內容希望大家喜歡
?? C
?? 第 1 頁 / 共 4 頁
字號:
	      else		{		  /* We can update the existing entry.  */		  (*foundp)->counter = _nl_msg_cat_cntr;		  (*foundp)->domain = domain;		  (*foundp)->translation = retval;		  (*foundp)->translation_length = retlen;		}#endif	      __set_errno (saved_errno);	      /* Now deal with plural.  */	      if (plural)		retval = plural_lookup (domain, n, retval, retlen);	      gl_rwlock_unlock (_nl_state_lock);	      return retval;	    }	}    } return_untranslated:  /* Return the untranslated MSGID.  */  FREE_BLOCKS (block_list);  gl_rwlock_unlock (_nl_state_lock);#ifndef _LIBC  if (!ENABLE_SECURE)    {      extern void _nl_log_untranslated (const char *logfilename,					const char *domainname,					const char *msgid1, const char *msgid2,					int plural);      const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED");      if (logfilename != NULL && logfilename[0] != '\0')	_nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural);    }#endif  __set_errno (saved_errno);  return (plural == 0	  ? (char *) msgid1	  /* Use the Germanic plural rule.  */	  : n == 1 ? (char *) msgid1 : (char *) msgid2);}/* Look up the translation of msgid within DOMAIN_FILE and DOMAINBINDING.   Return it if found.  Return NULL if not found or in case of a conversion   failure (problem in the particular message catalog).  Return (char *) -1   in case of a memory allocation failure during conversion (only if   ENCODING != NULL resp. CONVERT == true).  */char *internal_function#ifdef IN_LIBGLOCALE_nl_find_msg (struct loaded_l10nfile *domain_file,	      struct binding *domainbinding, const char *encoding,	      const char *msgid,	      size_t *lengthp)#else_nl_find_msg (struct loaded_l10nfile *domain_file,	      struct binding *domainbinding,	      const char *msgid, int convert,	      size_t *lengthp)#endif{  struct loaded_domain *domain;  nls_uint32 nstrings;  size_t act;  char *result;  size_t resultlen;  if (domain_file->decided <= 0)    _nl_load_domain (domain_file, domainbinding);  if (domain_file->data == NULL)    return NULL;  domain = (struct loaded_domain *) domain_file->data;  nstrings = domain->nstrings;  /* Locate the MSGID and its translation.  */  if (domain->hash_tab != NULL)    {      /* Use the hashing table.  */      nls_uint32 len = strlen (msgid);      nls_uint32 hash_val = __hash_string (msgid);      nls_uint32 idx = hash_val % domain->hash_size;      nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));      while (1)	{	  nls_uint32 nstr =	    W (domain->must_swap_hash_tab, domain->hash_tab[idx]);	  if (nstr == 0)	    /* Hash table entry is empty.  */	    return NULL;	  nstr--;	  /* Compare msgid with the original string at index nstr.	     We compare the lengths with >=, not ==, because plural entries	     are represented by strings with an embedded NUL.  */	  if (nstr < nstrings	      ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len		&& (strcmp (msgid,			    domain->data + W (domain->must_swap,					      domain->orig_tab[nstr].offset))		    == 0)	      : domain->orig_sysdep_tab[nstr - nstrings].length > len		&& (strcmp (msgid,			    domain->orig_sysdep_tab[nstr - nstrings].pointer)		    == 0))	    {	      act = nstr;	      goto found;	    }	  if (idx >= domain->hash_size - incr)	    idx -= domain->hash_size - incr;	  else	    idx += incr;	}      /* NOTREACHED */    }  else    {      /* Try the default method:  binary search in the sorted array of	 messages.  */      size_t top, bottom;      bottom = 0;      top = nstrings;      while (bottom < top)	{	  int cmp_val;	  act = (bottom + top) / 2;	  cmp_val = strcmp (msgid, (domain->data				    + W (domain->must_swap,					 domain->orig_tab[act].offset)));	  if (cmp_val < 0)	    top = act;	  else if (cmp_val > 0)	    bottom = act + 1;	  else	    goto found;	}      /* No translation was found.  */      return NULL;    } found:  /* The translation was found at index ACT.  If we have to convert the     string to use a different character set, this is the time.  */  if (act < nstrings)    {      result = (char *)	(domain->data + W (domain->must_swap, domain->trans_tab[act].offset));      resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;    }  else    {      result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer;      resultlen = domain->trans_sysdep_tab[act - nstrings].length;    }#if defined _LIBC || HAVE_ICONV# ifdef IN_LIBGLOCALE  if (encoding != NULL)# else  if (convert)# endif    {      /* We are supposed to do a conversion.  */# ifndef IN_LIBGLOCALE      const char *encoding = get_output_charset (domainbinding);# endif      /* Search whether a table with converted translations for this	 encoding has already been allocated.  */      size_t nconversions = domain->nconversions;      struct converted_domain *convd = NULL;      size_t i;      for (i = nconversions; i > 0; )	{	  i--;	  if (strcmp (domain->conversions[i].encoding, encoding) == 0)	    {	      convd = &domain->conversions[i];	      break;	    }	}      if (convd == NULL)	{	  /* Allocate a table for the converted translations for this	     encoding.  */	  struct converted_domain *new_conversions =	    (struct converted_domain *)	    (domain->conversions != NULL	     ? realloc (domain->conversions,			(nconversions + 1) * sizeof (struct converted_domain))	     : malloc ((nconversions + 1) * sizeof (struct converted_domain)));	  if (__builtin_expect (new_conversions == NULL, 0))	    /* Nothing we can do, no more memory.  We cannot use the	       translation because it might be encoded incorrectly.  */	    return (char *) -1;	  domain->conversions = new_conversions;	  /* Copy the 'encoding' string to permanent storage.  */	  encoding = strdup (encoding);	  if (__builtin_expect (encoding == NULL, 0))	    /* Nothing we can do, no more memory.  We cannot use the	       translation because it might be encoded incorrectly.  */	    return (char *) -1;	  convd = &new_conversions[nconversions];	  convd->encoding = encoding;	  /* Find out about the character set the file is encoded with.	     This can be found (in textual form) in the entry "".  If this	     entry does not exist or if this does not contain the 'charset='	     information, we will assume the charset matches the one the	     current locale and we don't have to perform any conversion.  */# ifdef _LIBC	  convd->conv = (__gconv_t) -1;# else#  if HAVE_ICONV	  convd->conv = (iconv_t) -1;#  endif# endif	  {	    char *nullentry;	    size_t nullentrylen;	    /* Get the header entry.  This is a recursion, but it doesn't	       reallocate domain->conversions because we pass	       encoding = NULL or convert = 0, respectively.  */	    nullentry =# ifdef IN_LIBGLOCALE	      _nl_find_msg (domain_file, domainbinding, NULL, "",			    &nullentrylen);# else	      _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);# endif	    if (nullentry != NULL)	      {		const char *charsetstr;		charsetstr = strstr (nullentry, "charset=");		if (charsetstr != NULL)		  {		    size_t len;		    char *charset;		    const char *outcharset;		    charsetstr += strlen ("charset=");		    len = strcspn (charsetstr, " \t\n");		    charset = (char *) alloca (len + 1);# if defined _LIBC || HAVE_MEMPCPY		    *((char *) mempcpy (charset, charsetstr, len)) = '\0';# else		    memcpy (charset, charsetstr, len);		    charset[len] = '\0';# endif		    outcharset = encoding;# ifdef _LIBC		    /* We always want to use transliteration.  */		    outcharset = norm_add_slashes (outcharset, "TRANSLIT");		    charset = norm_add_slashes (charset, "");		    int r = __gconv_open (outcharset, charset, &convd->conv,					  GCONV_AVOID_NOCONV);		    if (__builtin_expect (r != __GCONV_OK, 0))		      {			/* If the output encoding is the same there is			   nothing to do.  Otherwise do not use the			   translation at all.  */			if (__builtin_expect (r != __GCONV_NOCONV, 1))			  return NULL;			convd->conv = (__gconv_t) -1;		      }# else#  if HAVE_ICONV		    /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,		       we want to use transliteration.  */#   if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \       || _LIBICONV_VERSION >= 0x0105		    if (strchr (outcharset, '/') == NULL)		      {			char *tmp;			len = strlen (outcharset);			tmp = (char *) alloca (len + 10 + 1);			memcpy (tmp, outcharset, len);			memcpy (tmp + len, "//TRANSLIT", 10 + 1);			outcharset = tmp;			convd->conv = iconv_open (outcharset, charset);			freea (outcharset);		      }		    else#   endif		      convd->conv = iconv_open (outcharset, charset);#  endif# endif		    freea (charset);		  }	      }	  }	  convd->conv_tab = NULL;	  /* Here domain->conversions is still == new_conversions.  */	  domain->nconversions++;	}      if (# ifdef _LIBC	  convd->conv != (__gconv_t) -1# else#  if HAVE_ICONV	  convd->conv != (iconv_t) -1#  endif# endif	  )	{	  /* We are supposed to do a conversion.  First allocate an	     appropriate table with the same structure as the table	     of translations in the file, where we can put the pointers	     to the converted strings in.	     There is a slight complication with plural entries.  They	     are represented by consecutive NUL terminated strings.  We	     handle this case by converting RESULTLEN bytes, including	     NULs.  */	  if (convd->conv_tab == NULL	      && ((convd->conv_tab =		    (char **) calloc (nstrings + domain->n_sysdep_strings,				      sizeof (char *)))		  == NULL))	    /* Mark that we didn't succeed allocating a table.  */	    convd->conv_tab = (char **) -1;	  if (__builtin_expect (convd->conv_tab == (char **) -1, 0))	    /* Nothing we can do, no more memory.  We cannot use the	       translation because it might be encoded incorrectly.  */	    return (char *) -1;	  if (convd->conv_tab[act] == NULL)	    {	      /* We haven't used this string so far, so it is not		 translated yet.  Do this now.  */	      /* We use a bit more efficient memory handling.		 We allocate always larger blocks which get used over		 time.  This is faster than many small allocations.   */	      __libc_lock_define_initialized (static, lock)# define INITIAL_BLOCK_SIZE	4080	      static unsigned char *freemem;	      static size_t freemem_size;	      const unsigned char *inbuf;	      unsigned char *outbuf;	      int malloc_count;# ifndef _LIBC	      transmem_block_t *transmem_list = NULL;# endif	      __libc_lock_lock (lock);	      inbuf = (const unsigned char *) result;	      outbuf = freemem + sizeof (size_t);	      malloc_count = 0;	      while (1)		{		  transmem_block_t *newmem;# ifdef _LIBC		  size_t non_reversible;		  int res;		  if (freemem_size < sizeof (size_t))		    goto resize_freemem;		  res = __gconv (convd->conv,				 &inbuf, inbuf + resultlen,				 &outbuf,				 outbuf + freemem_size - sizeof (size_t),				 &non_reversible);		  if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)		    break;		  if (res != __GCONV_FULL_OUTPUT)		    {		      /* We should not use the translation at all, it			 is incorrectly encoded.  */		      __libc_lock_unlock (lock);		      return NULL;		    }		  inbuf = (const unsigned char *) result;# else#  if HAVE_ICONV		  const char *inptr = (const char *) inbuf;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线观看一区| 日韩成人一区二区| 蜜桃视频在线一区| 国产成人精品影视| 678五月天丁香亚洲综合网| 国产精品久久久久久久浪潮网站| 日本中文字幕一区二区有限公司| 不卡视频在线看| 欧美国产在线观看| 国产一区二区三区久久久| 欧美久久一二区| 一区二区免费在线播放| 99热国产精品| 日本一区二区动态图| 久久精品国产一区二区| 欧美一区二区三区系列电影| 亚洲高清视频中文字幕| 欧美日韩综合一区| 夜夜精品视频一区二区| 色呦呦国产精品| 亚洲三级在线播放| 99久久99久久精品国产片果冻 | 一本色道久久综合狠狠躁的推荐 | 日韩一区二区三区观看| 亚洲国产精品一区二区久久| 91视频在线看| 亚洲免费大片在线观看| 91丨porny丨国产| 亚洲人成影院在线观看| 99国产精品久久久久| 中文字幕制服丝袜一区二区三区| 成人教育av在线| 国产精品高潮久久久久无| 成人福利视频在线看| 国产精品久久久久久久岛一牛影视 | 欧美大片在线观看| 国产在线一区二区| 欧美激情一区二区三区蜜桃视频| 国产98色在线|日韩| 国产精品久久三| 99国产一区二区三精品乱码| 亚洲男人的天堂av| 欧美乱妇15p| 美女脱光内衣内裤视频久久网站| 精品日韩欧美在线| 丁香亚洲综合激情啪啪综合| 国产精品乱码人人做人人爱| 色综合久久中文综合久久97| 亚洲高清视频在线| 精品91自产拍在线观看一区| 国产黄色成人av| 亚洲精品大片www| 欧美一区二区视频免费观看| 国产九九视频一区二区三区| 国产精品国产三级国产aⅴ无密码| 一本在线高清不卡dvd| 丝袜脚交一区二区| 久久亚洲私人国产精品va媚药| 不卡一区中文字幕| 日韩专区在线视频| 亚洲国产精品传媒在线观看| 91国内精品野花午夜精品| 日韩专区欧美专区| 亚洲国产精品国自产拍av| 欧美日韩国产片| 懂色av一区二区夜夜嗨| 午夜视频久久久久久| 国产午夜精品理论片a级大结局| 色哟哟亚洲精品| 久久精品国产精品亚洲精品| 亚洲欧美在线视频| 日韩精品一区国产麻豆| 99视频热这里只有精品免费| 麻豆91精品91久久久的内涵| 国产精品久久久一本精品| 91精品国产丝袜白色高跟鞋| 成人av电影在线观看| 伦理电影国产精品| ...中文天堂在线一区| 日韩女优视频免费观看| 色婷婷亚洲一区二区三区| 精品一区二区综合| 亚洲一区在线观看免费 | 日韩精品在线一区二区| 91网页版在线| 国产成人午夜高潮毛片| 日本不卡一区二区三区高清视频| 亚洲另类在线制服丝袜| 国产人伦精品一区二区| 日韩午夜激情免费电影| 在线观看亚洲精品| av一区二区三区四区| 国产精品一区二区果冻传媒| 婷婷开心久久网| 亚洲一区二区三区视频在线播放| 国产精品拍天天在线| 国产日韩欧美a| 精品美女被调教视频大全网站| 欧美日韩国产成人在线免费| 91蜜桃视频在线| av午夜精品一区二区三区| 国产精品一区二区久激情瑜伽| 美日韩一区二区| 日韩精品一区第一页| 性久久久久久久久久久久| 亚洲自拍偷拍欧美| 一区二区三区四区激情| 亚洲免费在线观看| 国产精品国产三级国产aⅴ中文| 国产欧美日韩另类一区| 欧美国产1区2区| 国产精品欧美经典| 一区免费观看视频| |精品福利一区二区三区| 最新国产の精品合集bt伙计| 自拍偷拍国产亚洲| 亚洲精选视频免费看| 一区二区三区四区亚洲| 亚洲国产精品一区二区久久恐怖片| 一二三四区精品视频| 亚洲第一二三四区| 日产精品久久久久久久性色| 久久国产三级精品| 国产一区二区在线观看视频| 国产电影一区二区三区| av激情亚洲男人天堂| 色欧美日韩亚洲| 88在线观看91蜜桃国自产| 欧美一区二区三区公司| 日韩女同互慰一区二区| 久久亚洲精精品中文字幕早川悠里| 国产欧美一区二区三区沐欲| 亚洲国产高清不卡| 樱花影视一区二区| 日韩不卡一区二区三区| 国产精品资源网站| 91免费视频网址| 日韩一区和二区| 国产欧美日韩久久| 夜夜嗨av一区二区三区中文字幕| 日本视频在线一区| 国产99精品国产| 欧美人xxxx| 国产欧美1区2区3区| 亚洲国产成人av网| 精品一区二区三区视频在线观看| 粉嫩一区二区三区在线看| 欧美三级中文字幕| 国产日韩欧美精品在线| 亚洲成人免费看| 国产91丝袜在线观看| 欧美三日本三级三级在线播放| 久久色在线视频| 亚洲一区二区三区四区不卡| 国产麻豆视频精品| 欧美日韩精品三区| 欧美高清一级片在线观看| 丝袜美腿亚洲色图| av一区二区三区| 久久中文字幕电影| 亚洲1区2区3区视频| 成人开心网精品视频| 欧美一级搡bbbb搡bbbb| 中文字幕欧美一| 国产一区二区免费在线| 7777精品伊人久久久大香线蕉的 | 国产欧美日韩精品一区| 日韩国产精品久久| 色综合网站在线| 久久综合精品国产一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 国产精华液一区二区三区| 欧美一区二区日韩一区二区| 一区二区三区四区五区视频在线观看| 国产一区不卡精品| 日韩欧美电影一区| 午夜天堂影视香蕉久久| 色妹子一区二区| 中文字幕一区二区三区在线播放| 极品少妇xxxx精品少妇偷拍| 在线成人小视频| 亚洲电影视频在线| 欧美午夜精品理论片a级按摩| 国产精品国产三级国产普通话三级| 国产一区二区三区综合| 欧美电视剧免费全集观看| 日韩不卡一区二区三区| 欧美日韩成人在线| 亚洲成人激情自拍| 欧美色老头old∨ideo| 洋洋av久久久久久久一区| 色999日韩国产欧美一区二区| 国产精品―色哟哟| 成人av动漫网站| 国产精品国产精品国产专区不蜜 | 欧美猛男男办公室激情| 肉肉av福利一精品导航| 制服丝袜中文字幕亚洲| 日本系列欧美系列| 日韩一卡二卡三卡四卡|