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

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

?? l10nflist.c

?? linux 下的超級終端 minicom
?? C
字號:
/* Copyright (C) 1995-1999, 2000, 2001 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 Library 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   Library General Public License for more details.   You should have received a copy of the GNU Library 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.  *//* Tell glibc's <string.h> to provide a prototype for stpcpy().   This must come before <config.h> because <config.h> may include   <features.h>, and once <features.h> has been included, it's too late.  */#ifndef _GNU_SOURCE# define _GNU_SOURCE	1#endif#ifdef HAVE_CONFIG_H# include <config.h>#endif#include <string.h>#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>#include <stdlib.h>#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, PATH_SEPARATOR);  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.  The return value is dynamically allocated and has to be   freed by the caller.  */const char *_nl_normalize_codeset (codeset, name_len)     const 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一区二区三区免费野_久草精品视频
亚洲制服丝袜av| 亚洲精品国产a久久久久久| 欧美日韩国产首页在线观看| 91香蕉视频污| 91麻豆福利精品推荐| 99国产精品国产精品毛片| 成人精品高清在线| 99久久99久久久精品齐齐| 不卡电影免费在线播放一区| bt欧美亚洲午夜电影天堂| 成人一级黄色片| 国产精品国产三级国产aⅴ原创 | 亚洲精品在线观看网站| 91精品视频网| 日韩精品在线一区| 久久蜜桃av一区精品变态类天堂 | 成人av在线网站| av爱爱亚洲一区| 一本到不卡免费一区二区| 91精品欧美一区二区三区综合在| 国产高清一区日本| 成人av资源在线| 欧美午夜一区二区| 91精品国产日韩91久久久久久| 日韩亚洲欧美综合| 久久久亚洲高清| 亚洲人妖av一区二区| 亚洲国产综合91精品麻豆| 日产国产欧美视频一区精品| 黄一区二区三区| 成人av电影免费观看| 在线欧美一区二区| 日韩三级免费观看| 亚洲国产精华液网站w| 一区二区三区四区五区视频在线观看| 午夜激情一区二区| 国产一区二区看久久| 91一区二区在线观看| 欧美嫩在线观看| 国产婷婷色一区二区三区在线| 亚洲欧美色图小说| 欧美aa在线视频| 成人高清免费在线播放| 欧美三区在线观看| 欧美精品一区二区在线观看| 中文字幕一区二区视频| 日本视频一区二区| 不卡视频免费播放| 欧美精品久久久久久久多人混战 | 国产精品进线69影院| 五月天激情综合网| 国产一区 二区 三区一级| 色综合久久久久网| 欧美成人一区二区三区在线观看| 国产精品久久久久影院老司| 日韩成人av影视| 99久久免费精品高清特色大片| 91麻豆精品91久久久久久清纯 | 国产精品亚洲综合一区在线观看| 色婷婷av一区二区三区gif| 久久中文娱乐网| 午夜激情综合网| 91亚洲国产成人精品一区二区三 | 日韩午夜激情av| 亚洲日本乱码在线观看| 激情图片小说一区| 欧美专区亚洲专区| 欧美激情一区二区| 极品少妇xxxx偷拍精品少妇| 欧美在线观看视频在线| 国产区在线观看成人精品 | 欧美亚洲一区二区在线| 国产欧美日韩中文久久| 美美哒免费高清在线观看视频一区二区| 99久久精品国产毛片| 精品日韩99亚洲| 亚洲6080在线| 91网址在线看| 欧美国产一区视频在线观看| 久久国产精品72免费观看| 欧美日韩黄色一区二区| 自拍偷拍国产亚洲| 国产.欧美.日韩| 久久这里只有精品6| 另类小说综合欧美亚洲| 91精品国产综合久久久久| 亚洲国产一区二区三区青草影视| jlzzjlzz亚洲日本少妇| 国产欧美一区二区三区在线看蜜臀| 日本美女一区二区三区视频| 欧美日韩一区中文字幕| 亚洲精品免费在线| 97久久超碰国产精品电影| 国产精品视频免费看| 国产成人在线网站| 久久久高清一区二区三区| 九色综合狠狠综合久久| 欧美成人性战久久| 免费欧美日韩国产三级电影| 欧美一区二区三区在线| 首页综合国产亚洲丝袜| 欧美日韩在线免费视频| 亚洲一区二区精品久久av| 色av综合在线| 亚洲综合在线视频| 欧美羞羞免费网站| 亚洲v日本v欧美v久久精品| 欧美日韩精品专区| 午夜激情一区二区| 日韩一区二区在线看| 日本视频中文字幕一区二区三区| 91精品国产黑色紧身裤美女| 日本不卡一区二区| 日韩女优制服丝袜电影| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久久欧美精品sm网站| 狠狠久久亚洲欧美| 久久久久国产免费免费| 福利电影一区二区| 日韩一区欧美一区| 91福利国产精品| 日本在线观看不卡视频| 欧美成人aa大片| 岛国一区二区在线观看| 亚洲色图20p| 欧美视频完全免费看| 日本网站在线观看一区二区三区| 精品久久一区二区三区| 成人黄色小视频在线观看| 亚洲欧美激情小说另类| 欧美喷水一区二区| 久久精品国产亚洲aⅴ| 国产视频亚洲色图| 99精品一区二区| 亚洲bt欧美bt精品| 久久久国产精品不卡| 色综合久久久久综合| 青青草成人在线观看| 国产亚洲精久久久久久| 色综合久久综合中文综合网| 日韩福利电影在线| 久久精品视频免费| 在线欧美一区二区| 激情综合网天天干| 综合亚洲深深色噜噜狠狠网站| 欧美日韩亚洲国产综合| 国产综合色在线| 亚洲品质自拍视频| 4438亚洲最大| 成av人片一区二区| 肉色丝袜一区二区| 国产精品每日更新| 日韩一区二区高清| 99精品欧美一区二区蜜桃免费 | 久久99精品久久久久久动态图 | 99re这里只有精品首页| 秋霞成人午夜伦在线观看| 日本一区二区三级电影在线观看| 91传媒视频在线播放| 国产高清不卡一区| 亚洲成人1区2区| 国产精品视频一二三区 | 亚洲国产视频在线| 国产午夜三级一区二区三| 欧美老年两性高潮| 成人免费精品视频| 美女国产一区二区三区| 亚洲视频图片小说| 久久中文字幕电影| 4438x成人网最大色成网站| av在线不卡电影| 九九国产精品视频| 亚洲一区成人在线| 中文字幕在线观看不卡| 欧美不卡在线视频| 欧美精品久久久久久久久老牛影院| 不卡的av在线| 国产成人免费av在线| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲伦理在线精品| 中文字幕二三区不卡| 久久免费看少妇高潮| 欧美日韩一区三区四区| 91在线观看下载| 国产·精品毛片| 国产一区二区在线电影| 日本少妇一区二区| 午夜精品影院在线观看| 亚洲精品久久嫩草网站秘色| 国产精品全国免费观看高清| www久久精品| 欧美成人在线直播| 日韩视频123| 欧美日韩成人一区二区| 欧洲人成人精品| 欧美性色黄大片手机版| 色综合久久九月婷婷色综合| 成人精品视频.| 粉嫩aⅴ一区二区三区四区五区| 国内外成人在线|