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

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

?? l10nflist.c

?? minicom2.0源代碼
?? C
字號:
/* Handle list of needed message catalogs   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2, or (at your option)   any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software Foundation,   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */#ifdef HAVE_CONFIG_H# include <config.h>#endif#if defined HAVE_STRING_H || defined _LIBC# ifndef _GNU_SOURCE#  define _GNU_SOURCE	1# endif# include <string.h>#else# include <strings.h># ifndef memcpy#  define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)# endif#endif#if !HAVE_STRCHR && !defined _LIBC# ifndef strchr#  define strchr index# endif#endif#if defined _LIBC || defined HAVE_ARGZ_H# include <argz.h>#endif#include <ctype.h>#include <sys/types.h>#if defined STDC_HEADERS || defined _LIBC# include <stdlib.h>#endif#include "loadinfo.h"/* On some strange systems still no definition of NULL is found.  Sigh!  */#ifndef NULL# if defined __STDC__ && __STDC__#  define NULL ((void *) 0)# else#  define NULL 0# endif#endif/* @@ end of prolog @@ */#ifdef _LIBC/* Rename the non ANSI C functions.  This is required by the standard   because some ANSI C functions will require linking with this object   file and the name space must not be polluted.  */# ifndef stpcpy#  define stpcpy(dest, src) __stpcpy(dest, src)# endif#else# ifndef HAVE_STPCPYstatic char *stpcpy PARAMS ((char *dest, const char *src));# endif#endif/* Define function which are usually not available.  */#if !defined _LIBC && !defined HAVE___ARGZ_COUNT/* Returns the number of strings in ARGZ.  */static size_t argz_count__ PARAMS ((const char *argz, size_t len));static size_targz_count__ (argz, len)     const char *argz;     size_t len;{  size_t count = 0;  while (len > 0)    {      size_t part_len = strlen (argz);      argz += part_len + 1;      len -= part_len + 1;      count++;    }  return count;}# undef __argz_count# define __argz_count(argz, len) argz_count__ (argz, len)#endif	/* !_LIBC && !HAVE___ARGZ_COUNT */#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's   except the last into the character SEP.  */static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));static voidargz_stringify__ (argz, len, sep)     char *argz;     size_t len;     int sep;{  while (len > 0)    {      size_t part_len = strlen (argz);      argz += part_len;      len -= part_len + 1;      if (len > 0)	*argz++ = sep;    }}# undef __argz_stringify# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)#endif	/* !_LIBC && !HAVE___ARGZ_STRINGIFY */#if !defined _LIBC && !defined HAVE___ARGZ_NEXTstatic char *argz_next__ PARAMS ((char *argz, size_t argz_len,				  const char *entry));static char *argz_next__ (argz, argz_len, entry)     char *argz;     size_t argz_len;     const char *entry;{  if (entry)    {      if (entry < argz + argz_len)        entry = strchr (entry, '\0') + 1;      return entry >= argz + argz_len ? NULL : (char *) entry;    }  else    if (argz_len > 0)      return argz;    else      return 0;}# undef __argz_next# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)#endif	/* !_LIBC && !HAVE___ARGZ_NEXT *//* Return number of bits set in X.  */static int pop PARAMS ((int x));static inline intpop (x)     int x;{  /* We assume that no more than 16 bits are used.  */  x = ((x & ~0x5555) >> 1) + (x & 0x5555);  x = ((x & ~0x3333) >> 2) + (x & 0x3333);  x = ((x >> 4) + x) & 0x0f0f;  x = ((x >> 8) + x) & 0xff;  return x;}struct loaded_l10nfile *_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,		    territory, codeset, normalized_codeset, modifier, special,		    sponsor, revision, filename, do_allocate)     struct loaded_l10nfile **l10nfile_list;     const char *dirlist;     size_t dirlist_len;     int mask;     const char *language;     const char *territory;     const char *codeset;     const char *normalized_codeset;     const char *modifier;     const char *special;     const char *sponsor;     const char *revision;     const char *filename;     int do_allocate;{  char *abs_filename;  struct loaded_l10nfile *last = NULL;  struct loaded_l10nfile *retval;  char *cp;  size_t entries;  int cnt;  /* Allocate room for the full file name.  */  abs_filename = (char *) malloc (dirlist_len				  + strlen (language)				  + ((mask & TERRITORY) != 0				     ? strlen (territory) + 1 : 0)				  + ((mask & XPG_CODESET) != 0				     ? strlen (codeset) + 1 : 0)				  + ((mask & XPG_NORM_CODESET) != 0				     ? strlen (normalized_codeset) + 1 : 0)				  + (((mask & XPG_MODIFIER) != 0				      || (mask & CEN_AUDIENCE) != 0)				     ? strlen (modifier) + 1 : 0)				  + ((mask & CEN_SPECIAL) != 0				     ? strlen (special) + 1 : 0)				  + (((mask & CEN_SPONSOR) != 0				      || (mask & CEN_REVISION) != 0)				     ? (1 + ((mask & CEN_SPONSOR) != 0					     ? strlen (sponsor) + 1 : 0)					+ ((mask & CEN_REVISION) != 0					   ? strlen (revision) + 1 : 0)) : 0)				  + 1 + strlen (filename) + 1);  if (abs_filename == NULL)    return NULL;  retval = NULL;  last = NULL;  /* Construct file name.  */  memcpy (abs_filename, dirlist, dirlist_len);  __argz_stringify (abs_filename, dirlist_len, ':');  cp = abs_filename + (dirlist_len - 1);  *cp++ = '/';  cp = stpcpy (cp, language);  if ((mask & TERRITORY) != 0)    {      *cp++ = '_';      cp = stpcpy (cp, territory);    }  if ((mask & XPG_CODESET) != 0)    {      *cp++ = '.';      cp = stpcpy (cp, codeset);    }  if ((mask & XPG_NORM_CODESET) != 0)    {      *cp++ = '.';      cp = stpcpy (cp, normalized_codeset);    }  if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)    {      /* This component can be part of both syntaces but has different	 leading characters.  For CEN we use `+', else `@'.  */      *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';      cp = stpcpy (cp, modifier);    }  if ((mask & CEN_SPECIAL) != 0)    {      *cp++ = '+';      cp = stpcpy (cp, special);    }  if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)    {      *cp++ = ',';      if ((mask & CEN_SPONSOR) != 0)	cp = stpcpy (cp, sponsor);      if ((mask & CEN_REVISION) != 0)	{	  *cp++ = '_';	  cp = stpcpy (cp, revision);	}    }  *cp++ = '/';  stpcpy (cp, filename);  /* Look in list of already loaded domains whether it is already     available.  */  last = NULL;  for (retval = *l10nfile_list; retval != NULL; retval = retval->next)    if (retval->filename != NULL)      {	int compare = strcmp (retval->filename, abs_filename);	if (compare == 0)	  /* We found it!  */	  break;	if (compare < 0)	  {	    /* It's not in the list.  */	    retval = NULL;	    break;	  }	last = retval;      }  if (retval != NULL || do_allocate == 0)    {      free (abs_filename);      return retval;    }  retval = (struct loaded_l10nfile *)    malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)				* (1 << pop (mask))				* sizeof (struct loaded_l10nfile *)));  if (retval == NULL)    return NULL;  retval->filename = abs_filename;  retval->decided = (__argz_count (dirlist, dirlist_len) != 1		     || ((mask & XPG_CODESET) != 0			 && (mask & XPG_NORM_CODESET) != 0));  retval->data = NULL;  if (last == NULL)    {      retval->next = *l10nfile_list;      *l10nfile_list = retval;    }  else    {      retval->next = last->next;      last->next = retval;    }  entries = 0;  /* If the DIRLIST is a real list the RETVAL entry corresponds not to     a real file.  So we have to use the DIRLIST separation mechanism     of the inner loop.  */  cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;  for (; cnt >= 0; --cnt)    if ((cnt & ~mask) == 0	&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)	&& ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))      {	/* Iterate over all elements of the DIRLIST.  */	char *dir = NULL;	while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))	       != NULL)	  retval->successor[entries++]	    = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,				  language, territory, codeset,				  normalized_codeset, modifier, special,				  sponsor, revision, filename, 1);      }  retval->successor[entries] = NULL;  return retval;}/* Normalize codeset name.  There is no standard for the codeset   names.  Normalization allows the user to use any of the common   names.  */const char *_nl_normalize_codeset (codeset, name_len)     const unsigned char *codeset;     size_t name_len;{  int len = 0;  int only_digit = 1;  char *retval;  char *wp;  size_t cnt;  for (cnt = 0; cnt < name_len; ++cnt)    if (isalnum (codeset[cnt]))      {	++len;	if (isalpha (codeset[cnt]))	  only_digit = 0;      }  retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);  if (retval != NULL)    {      if (only_digit)	wp = stpcpy (retval, "iso");      else	wp = retval;      for (cnt = 0; cnt < name_len; ++cnt)	if (isalpha (codeset[cnt]))	  *wp++ = tolower (codeset[cnt]);	else if (isdigit (codeset[cnt]))	  *wp++ = codeset[cnt];      *wp = '\0';    }  return (const char *) retval;}/* @@ begin of epilog @@ *//* We don't want libintl.a to depend on any other library.  So we   avoid the non-standard function stpcpy.  In GNU C Library this   function is available, though.  Also allow the symbol HAVE_STPCPY   to be defined.  */#if !_LIBC && !HAVE_STPCPYstatic char *stpcpy (dest, src)     char *dest;     const char *src;{  while ((*dest++ = *src++) != '\0')    /* Do nothing. */ ;  return dest - 1;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美巨大另类极品videosbest| 久久久www成人免费毛片麻豆| 欧美二区乱c少妇| 久久色在线视频| 亚洲黄色在线视频| 韩国中文字幕2020精品| 大陆成人av片| 日韩午夜激情电影| 国产精品国产三级国产三级人妇| 婷婷综合久久一区二区三区| 成人av资源下载| 日韩三级免费观看| 亚洲综合色噜噜狠狠| 成人v精品蜜桃久久一区| 久久综合九色综合欧美98| 五月开心婷婷久久| 欧美偷拍一区二区| 亚洲欧美国产77777| 国产成人免费视频网站高清观看视频| 91精品国产综合久久蜜臀 | 日韩精品乱码av一区二区| 波多野结衣中文字幕一区 | 久久电影国产免费久久电影| 欧美午夜电影网| 夜夜操天天操亚洲| 91久久精品一区二区二区| 中文字幕一区免费在线观看| 国产白丝精品91爽爽久久| www激情久久| 国产乱码精品一区二区三区av | 国产91高潮流白浆在线麻豆| 久久久久久一级片| 蜜桃精品在线观看| 欧美mv和日韩mv的网站| 蜜桃视频第一区免费观看| 欧美日韩精品一区视频| 欧美综合欧美视频| 久久久91精品国产一区二区精品 | 亚洲国产乱码最新视频| jlzzjlzz亚洲日本少妇| 国产精品卡一卡二| 99久久精品免费看国产免费软件| 日本一区免费视频| av一区二区三区| 亚洲欧美日韩综合aⅴ视频| 色88888久久久久久影院按摩| 亚洲伦在线观看| 91福利资源站| 欧美在线free| 欧美激情一区二区三区全黄 | 欧美一个色资源| 色狠狠色噜噜噜综合网| 精品国产99国产精品| 亚洲久草在线视频| 国产一区二区91| 日本久久精品电影| 国产色一区二区| 另类欧美日韩国产在线| 欧美最猛性xxxxx直播| 久久婷婷国产综合精品青草| 亚洲精品综合在线| 日本欧美肥老太交大片| 欧美在线视频不卡| 国产精品国产三级国产a| 国产一区二区精品久久| 欧美一区二区女人| 亚洲卡通动漫在线| 97久久久精品综合88久久| 精品久久一区二区| 日韩精品高清不卡| 欧美日韩国产三级| 亚洲天堂网中文字| 成人动漫在线一区| 国产精品视频免费| 国产a精品视频| 欧美一级免费观看| 一区二区欧美国产| 99久久精品国产毛片| 欧美成人免费网站| 日本女优在线视频一区二区| 欧美精品久久天天躁| 丝袜脚交一区二区| 欧美丰满嫩嫩电影| 免费看欧美女人艹b| 精品日本一线二线三线不卡| 精品一区二区三区免费毛片爱| 日韩免费一区二区| 国产精品亚洲一区二区三区妖精| 国产亚洲精品超碰| 不卡的av在线播放| 亚洲一区二区三区不卡国产欧美| 欧美日韩和欧美的一区二区| 男女视频一区二区| 精品日韩一区二区三区| 成人免费观看男女羞羞视频| 一区二区三区日韩欧美精品 | 337p粉嫩大胆色噜噜噜噜亚洲 | 国产不卡在线播放| 亚洲精品成人天堂一二三| 在线一区二区视频| 香蕉影视欧美成人| 欧美tickle裸体挠脚心vk| 国产一本一道久久香蕉| 亚洲美女在线一区| 欧美一级夜夜爽| 粉嫩久久99精品久久久久久夜| 亚洲欧美一区二区三区国产精品| 欧美视频一区二区三区在线观看| 蜜臀久久99精品久久久画质超高清| 久久久久久久久久久99999| 色综合久久中文字幕综合网| 日韩精品一卡二卡三卡四卡无卡| 国产亚洲一区二区三区| 色综合激情五月| 国产在线播放一区二区三区| 国产精品久久久久国产精品日日| 在线观看一区二区精品视频| 国产精品一级黄| 婷婷开心久久网| 中文字幕一区视频| 亚洲精品在线观看网站| 欧美日韩免费视频| 丁香天五香天堂综合| 亚洲123区在线观看| 最新日韩在线视频| 欧美精品一区二区三区蜜桃视频| 色婷婷精品久久二区二区蜜臂av| 国产自产2019最新不卡| 婷婷开心久久网| 亚洲一区二区五区| 国产精品国模大尺度视频| 欧美成人精品二区三区99精品| 91女人视频在线观看| 国产大片一区二区| 久久精品噜噜噜成人av农村| 亚洲综合丝袜美腿| 1024精品合集| 中文字幕一区二区三中文字幕| 久久这里只有精品首页| 日韩精品一区二区三区蜜臀| 欧美日韩高清一区| 欧美中文字幕一区| 91浏览器打开| 色综合天天综合色综合av| 国产成人在线观看免费网站| 精品一区二区三区久久| 奇米777欧美一区二区| 日韩精品电影一区亚洲| 亚洲最新在线观看| 亚洲gay无套男同| 亚洲成人免费av| 亚洲成人一区二区在线观看| 亚洲午夜免费视频| 五月激情综合网| 日本特黄久久久高潮| 欧美aaa在线| 国产精品一区二区免费不卡 | 国产亚洲1区2区3区| 精品国内二区三区| 精品播放一区二区| 国产三区在线成人av| 国产精品色哟哟| 一区二区在线观看视频在线观看| 亚洲免费av观看| 三级欧美韩日大片在线看| 麻豆成人综合网| 国产v日产∨综合v精品视频| 成人妖精视频yjsp地址| 色偷偷成人一区二区三区91| 欧美图片一区二区三区| 欧美一区二区三区免费大片| 久久婷婷色综合| 亚洲三级在线免费观看| 日本亚洲三级在线| 国产精品系列在线播放| 99久久99久久精品免费观看 | 床上的激情91.| 欧美日韩一区精品| 欧美va亚洲va| 亚洲精品日产精品乱码不卡| 亚洲第一二三四区| 麻豆成人av在线| 国产精品一二三在| 日本道免费精品一区二区三区| 欧美精选一区二区| 51精品国自产在线| 国产亚洲一区二区三区在线观看| 一区二区三区精品在线观看| 日韩av电影天堂| 国产99久久久久久免费看农村| 色综合久久久久综合体桃花网| 欧美一区二区三区不卡| 亚洲国产精品激情在线观看| 日韩电影在线免费观看| 99久久精品99国产精品| 在线精品视频免费播放| 日韩精品一区二区在线观看| 欧美激情综合五月色丁香小说| 亚洲高清免费视频| 99精品国产视频|