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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cat-compat.c

?? minicom2.0源代碼
?? C
字號:
/* Compatibility code for gettext-using-catgets interface.   Copyright (C) 1995, 1997 Free Software Foundation, Inc.   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#include <stdio.h>#ifdef STDC_HEADERS# include <stdlib.h># include <string.h>#elsechar *getenv ();# ifdef HAVE_MALLOC_H#  include <malloc.h># endif#endif#ifdef HAVE_NL_TYPES_H# include <nl_types.h>#endif#include "libgettext.h"/* @@ end of prolog @@ *//* XPG3 defines the result of `setlocale (category, NULL)' as:   ``Directs `setlocale()' to query `category' and return the current     setting of `local'.''   However it does not specify the exact format.  And even worse: POSIX   defines this not at all.  So we can use this feature only on selected   system (e.g. those using GNU C Library).  */#ifdef _LIBC# define HAVE_LOCALE_NULL#endif/* The catalog descriptor.  */static nl_catd catalog = (nl_catd) -1;/* Name of the default catalog.  */static const char default_catalog_name[] = "messages";/* Name of currently used catalog.  */static const char *catalog_name = default_catalog_name;/* Get ID for given string.  If not found return -1.  */static int msg_to_cat_id PARAMS ((const char *msg));/* Substitution for systems lacking this function in their C library.  */#if !_LIBC && !HAVE_STPCPYstatic char *stpcpy PARAMS ((char *dest, const char *src));#endif/* Set currently used domain/catalog.  */char *textdomain (domainname)     const char *domainname;{  nl_catd new_catalog;  char *new_name;  size_t new_name_len;  char *lang;#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \    && defined HAVE_LOCALE_NULL  lang = setlocale (LC_MESSAGES, NULL);#else  lang = getenv ("LC_ALL");  if (lang == NULL || lang[0] == '\0')    {      lang = getenv ("LC_MESSAGES");      if (lang == NULL || lang[0] == '\0')	lang = getenv ("LANG");    }#endif  if (lang == NULL || lang[0] == '\0')    lang = "C";  /* See whether name of currently used domain is asked.  */  if (domainname == NULL)    return (char *) catalog_name;  if (domainname[0] == '\0')    domainname = default_catalog_name;  /* Compute length of added path element.  */  new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)		 + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1		 + sizeof (".cat");  new_name = (char *) malloc (new_name_len);  if (new_name == NULL)    return NULL;  strcpy (new_name, PACKAGE);  new_catalog = catopen (new_name, 0);  if (new_catalog == (nl_catd) -1)    {      /* NLSPATH search didn't work, try absolute path */      sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,	       PACKAGE);      new_catalog = catopen (new_name, 0);      if (new_catalog == (nl_catd) -1)	{	  free (new_name);	  return (char *) catalog_name;	}    }  /* Close old catalog.  */  if (catalog != (nl_catd) -1)    catclose (catalog);  if (catalog_name != default_catalog_name)    free ((char *) catalog_name);  catalog = new_catalog;  catalog_name = new_name;  return (char *) catalog_name;}char *bindtextdomain (domainname, dirname)     const char *domainname;     const char *dirname;{#if HAVE_SETENV || HAVE_PUTENV  char *old_val, *new_val, *cp;  size_t new_val_len;  /* This does not make much sense here but to be compatible do it.  */  if (domainname == NULL)    return NULL;  /* Compute length of added path element.  If we use setenv we don't need     the first byts for NLSPATH=, but why complicate the code for this     peanuts.  */  new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)		+ sizeof ("/%L/LC_MESSAGES/%N.cat");  old_val = getenv ("NLSPATH");  if (old_val == NULL || old_val[0] == '\0')    {      old_val = NULL;      new_val_len += 1 + sizeof (LOCALEDIR) - 1	             + sizeof ("/%L/LC_MESSAGES/%N.cat");    }  else    new_val_len += strlen (old_val);  new_val = (char *) malloc (new_val_len);  if (new_val == NULL)    return NULL;# if HAVE_SETENV  cp = new_val;# else  cp = stpcpy (new_val, "NLSPATH=");# endif  cp = stpcpy (cp, dirname);  cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");  if (old_val == NULL)    {# if __STDC__      stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");# else      cp = stpcpy (cp, LOCALEDIR);      stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");# endif    }  else    stpcpy (cp, old_val);# if HAVE_SETENV  setenv ("NLSPATH", new_val, 1);  free (new_val);# else  putenv (new_val);  /* Do *not* free the environment entry we just entered.  It is used     from now on.   */# endif#endif  return (char *) domainname;}#undef gettextchar *gettext (msg)     const char *msg;{  int msgid;  if (msg == NULL || catalog == (nl_catd) -1)    return (char *) msg;  /* Get the message from the catalog.  We always use set number 1.     The message ID is computed by the function `msg_to_cat_id'     which works on the table generated by `po-to-tbl'.  */  msgid = msg_to_cat_id (msg);  if (msgid == -1)    return (char *) msg;  return catgets (catalog, 1, msgid, (char *) msg);}/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries   for the one equal to msg.  If it is found return the ID.  In case when   the string is not found return -1.  */static intmsg_to_cat_id (msg)     const char *msg;{  int cnt;  for (cnt = 0; cnt < _msg_tbl_length; ++cnt)    if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)      return _msg_tbl[cnt]._msg_number;  return -1;}/* @@ 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伊人久久大香线蕉综合69| 国产亚洲人成网站| 9i看片成人免费高清| 国内成人自拍视频| 青草国产精品久久久久久| 天堂资源在线中文精品| 亚洲一区二区三区爽爽爽爽爽| 亚洲激情成人在线| 亚洲综合男人的天堂| 亚洲一区二区三区四区五区黄| 一区二区三区四区不卡在线 | 久久久久9999亚洲精品| 日韩欧美第一区| 日韩欧美一级二级| 精品成a人在线观看| 亚洲精品一区二区三区蜜桃下载| 久久综合中文字幕| 国产亚洲精品中文字幕| 国产精品麻豆欧美日韩ww| 中文字幕日韩一区| 亚洲精品乱码久久久久久日本蜜臀| 国产福利精品导航| 国产成人午夜片在线观看高清观看| 成人一区二区视频| 91在线观看成人| 欧美性做爰猛烈叫床潮| 3d成人动漫网站| 2024国产精品视频| 国产精品色呦呦| 亚洲精品自拍动漫在线| 亚洲国产sm捆绑调教视频 | 欧美亚洲综合在线| 欧美久久久久中文字幕| 欧美电影免费提供在线观看| 久久久久久久综合日本| 国产精品久久久久久久久久免费看 | 久久久另类综合| 亚洲特级片在线| 午夜精品久久一牛影视| 精品一区二区三区免费观看| 不卡的av中国片| 欧美在线你懂的| 久久综合一区二区| 亚洲精品网站在线观看| 男人操女人的视频在线观看欧美| 国产精品自拍三区| 色欧美片视频在线观看在线视频| 日韩欧美高清在线| 亚洲视频一区二区在线| 亚洲成人动漫在线观看| 国产精品99久久不卡二区| 色哟哟一区二区| 久久夜色精品国产欧美乱极品| 亚洲特黄一级片| 国模冰冰炮一区二区| 色综合激情久久| 久久久另类综合| 天天综合天天做天天综合| 国产精品99久久久| 欧美一区二区三区精品| 亚洲婷婷综合色高清在线| 久久国产福利国产秒拍| 91啪九色porn原创视频在线观看| 日韩欧美亚洲国产另类 | 麻豆精品在线观看| 色综合久久久久久久久| 欧美精品一区二区三区视频| 亚洲三级免费观看| 国产精品一二三四五| 欧美高清视频一二三区| 国产精品乱码一区二区三区软件| 日本免费在线视频不卡一不卡二 | 国产日韩欧美一区二区三区乱码| 亚洲v日本v欧美v久久精品| 不卡欧美aaaaa| 久久久久久久免费视频了| 无码av免费一区二区三区试看 | 91成人免费网站| 国产日韩欧美电影| 美女视频一区在线观看| 欧美最猛性xxxxx直播| 国产精品久久久久一区二区三区| 麻豆91小视频| 欧美久久久久久久久中文字幕| 亚洲免费在线视频| 国产99精品在线观看| 精品久久久久久亚洲综合网 | 在线观看一区日韩| 国产精品福利一区二区三区| 激情久久久久久久久久久久久久久久 | 欧美日本视频在线| 一区二区三区免费网站| 成人免费视频视频| 国产人久久人人人人爽| 狠狠色狠狠色综合| 日韩一区二区精品在线观看| 亚洲国产精品一区二区www在线| 91在线丨porny丨国产| 国产精品久久久爽爽爽麻豆色哟哟| 国产传媒欧美日韩成人| wwwwww.欧美系列| 国产呦精品一区二区三区网站| 欧美成人女星排行榜| 青青草一区二区三区| 91精品国产一区二区人妖| 五月婷婷久久丁香| 717成人午夜免费福利电影| 天天综合日日夜夜精品| 欧美日本一道本| 日本伊人精品一区二区三区观看方式| 欧美午夜精品电影| 亚洲高清久久久| 欧美精品自拍偷拍动漫精品| 三级影片在线观看欧美日韩一区二区| 在线观看日韩av先锋影音电影院| 亚洲精品ww久久久久久p站 | 亚洲黄色av一区| 在线观看国产精品网站| 亚洲一区二区中文在线| 在线视频国内自拍亚洲视频| 亚洲午夜久久久久久久久电影网| 欧美亚洲综合一区| 欧美aⅴ一区二区三区视频| 精品嫩草影院久久| 成人一级片网址| 亚洲色图欧美激情| 欧美日韩精品一区二区三区| 日韩中文字幕区一区有砖一区| 日韩免费高清电影| 国产91综合一区在线观看| 国产精品激情偷乱一区二区∴| 91在线观看美女| 亚洲1区2区3区视频| 欧美大片拔萝卜| 成人深夜福利app| 亚洲妇熟xx妇色黄| 日韩精品一区在线| 国产99久久久精品| 一区二区成人在线| 精品区一区二区| 成人黄页毛片网站| 亚洲一区二区精品视频| 日韩欧美电影一二三| av电影在线观看一区| 亚洲一区二区视频在线| 日韩免费视频线观看| kk眼镜猥琐国模调教系列一区二区| 一区二区三区中文字幕电影| 欧美精品第1页| 国产成人8x视频一区二区| 一区二区三区四区激情| 久久伊人中文字幕| 在线免费观看不卡av| 国产综合成人久久大片91| 亚洲久草在线视频| 日韩免费一区二区| 91国产丝袜在线播放| 国产精品一区二区三区乱码| 一区2区3区在线看| 国产亚洲欧美在线| 6080亚洲精品一区二区| 成人精品免费网站| 三级久久三级久久| 国产精品国产自产拍高清av| 成人免费视频网站在线观看| 日韩精品欧美精品| 亚洲精品成人天堂一二三| 国产日韩欧美高清| 欧美猛男gaygay网站| 99久久精品免费观看| 久久不见久久见免费视频7| 亚洲久草在线视频| 国产无人区一区二区三区| 欧美日韩国产综合一区二区| 成人a免费在线看| 蜜臀久久久99精品久久久久久| 亚洲精品视频免费观看| 久久久久久99久久久精品网站| 欧美日韩国产成人在线免费| 成人的网站免费观看| 精品一区二区在线视频| 亚洲国产精品人人做人人爽| 国产精品麻豆久久久| 欧美videos大乳护士334| 欧美日韩免费视频| 91最新地址在线播放| 国产不卡在线视频| 精品影视av免费| 免费在线观看日韩欧美| 亚洲一区在线电影| 一区二区三区在线视频观看58| 中文字幕av一区 二区| 精品国产一区二区国模嫣然| 欧美日韩专区在线| 91福利视频久久久久| 一本一本大道香蕉久在线精品 | 99久久综合狠狠综合久久| 国产一区二区三区在线观看精品 | 在线播放国产精品二区一二区四区 | 色婷婷久久久亚洲一区二区三区 |