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

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

?? cat-compat.c

?? aumix-2.8 源碼下載
?? 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久不卡8050| 欧美影院午夜播放| 欧美日韩一区小说| 国产视频亚洲色图| 蜜臀av亚洲一区中文字幕| 不卡一区二区在线| 2021国产精品久久精品| 五月婷婷综合在线| 99re这里只有精品首页| 日本一区二区视频在线观看| 亚洲成人av免费| 欧美在线不卡视频| 亚洲三级在线播放| 丁香桃色午夜亚洲一区二区三区| 欧美一区二区视频在线观看2022| 亚洲欧美日韩国产另类专区| www.欧美亚洲| 国产精品蜜臀av| 大陆成人av片| 久久精品一区四区| 国产精品亚洲а∨天堂免在线| 日韩一本二本av| 蜜臀av一区二区在线观看 | 欧美mv日韩mv亚洲| 日韩一区精品字幕| 欧美高清性hdvideosex| 亚洲电影中文字幕在线观看| 91精品办公室少妇高潮对白| 中文字幕中文字幕中文字幕亚洲无线| 国产精一区二区三区| 国产欧美一区二区精品仙草咪| 国产一区在线精品| 国产日韩精品一区二区浪潮av | 久久精品噜噜噜成人av农村| 欧美一区二区视频免费观看| 蜜桃av一区二区| 精品91自产拍在线观看一区| 国产一区二区福利视频| 久久亚区不卡日本| 成人aaaa免费全部观看| 成人欧美一区二区三区1314| 91丝袜呻吟高潮美腿白嫩在线观看| 成人免费一区二区三区视频| 在线精品视频一区二区三四 | 国产一区二区三区高清播放| 久久久久国产精品麻豆| www.日韩大片| 亚洲成国产人片在线观看| 日韩欧美亚洲一区二区| 国产一区日韩二区欧美三区| 国产精品久久久久久久久免费桃花| 色老综合老女人久久久| 日韩专区在线视频| 国产婷婷色一区二区三区在线| 成人aa视频在线观看| 偷窥国产亚洲免费视频| 久久品道一品道久久精品| av动漫一区二区| 日韩高清不卡一区二区| 欧美国产日韩精品免费观看| 欧美色大人视频| 国产精品一级片| 亚洲国产欧美日韩另类综合 | 天天免费综合色| 久久久电影一区二区三区| 色综合久久久久| 轻轻草成人在线| 中文字幕亚洲视频| 日韩色视频在线观看| 欧美日韩一区二区电影| 国产一区二区91| 亚洲一区中文日韩| 国产日韩欧美一区二区三区乱码| 欧美亚洲日本国产| 粉嫩aⅴ一区二区三区四区五区| 一区二区三区免费看视频| 久久精品欧美日韩| 制服丝袜亚洲精品中文字幕| 不卡免费追剧大全电视剧网站| 日本欧美一区二区三区乱码| 亚洲视频在线一区| 久久影视一区二区| 欧美日韩高清在线播放| 91美女片黄在线观看| 久久国产精品区| 亚洲国产精品视频| 亚洲视频在线一区观看| 中文字幕免费一区| 精品久久人人做人人爽| 欧美老肥妇做.爰bbww| 99久久精品国产网站| 国产乱理伦片在线观看夜一区| 偷拍自拍另类欧美| 亚洲二区在线观看| 一区二区在线观看免费视频播放| 国产网红主播福利一区二区| 欧美成人精精品一区二区频| 欧美日韩精品久久久| 欧美性大战xxxxx久久久| 色婷婷综合五月| 色哟哟亚洲精品| eeuss鲁一区二区三区| 国产盗摄一区二区| 国产宾馆实践打屁股91| 狠狠色丁香久久婷婷综| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲1区2区3区4区| 水蜜桃久久夜色精品一区的特点| 亚洲电影第三页| 午夜精品久久久久久久蜜桃app| 亚洲一级二级在线| 亚洲国产一区二区在线播放| 亚洲午夜免费电影| 亚洲一区二区三区视频在线播放| 一区二区三区久久久| 亚洲欧美日韩国产成人精品影院| 亚洲欧洲精品成人久久奇米网| 中文字幕国产一区| 亚洲精品视频在线观看网站| 一区二区三区中文字幕在线观看| 亚洲国产日韩综合久久精品| 日韩黄色小视频| 久久99国内精品| 国产91在线看| 99国产精品国产精品毛片| 91久久精品日日躁夜夜躁欧美| 91国在线观看| 日韩欧美中文一区| 国产清纯白嫩初高生在线观看91 | 91免费在线播放| 欧美在线观看禁18| 日韩三级视频在线观看| 精品处破学生在线二十三| 国产精品理伦片| 日韩制服丝袜先锋影音| 极品尤物av久久免费看| av亚洲精华国产精华| 欧美午夜一区二区三区| 日韩欧美国产一二三区| 国产欧美一区二区三区鸳鸯浴| 一区二区三区视频在线观看| 日韩**一区毛片| 波多野结衣视频一区| 欧美精品日韩一本| 久久九九影视网| 亚洲国产中文字幕在线视频综合| 蜜臂av日日欢夜夜爽一区| aaa国产一区| 91精品国产综合久久蜜臀| 国产亚洲污的网站| 亚洲一区二区三区国产| 久久99热99| 欧美视频你懂的| 国产亚洲成av人在线观看导航 | 国产精品黄色在线观看| 五月婷婷综合网| 不卡欧美aaaaa| 欧美成人伊人久久综合网| ●精品国产综合乱码久久久久| 免费久久99精品国产| 色婷婷国产精品久久包臀| 久久日一线二线三线suv| 亚洲一区二区三区四区在线免费观看 | 欧美大片在线观看一区| 亚洲精品你懂的| 精品午夜一区二区三区在线观看 | 亚洲成人综合在线| 成人综合在线视频| 日韩欧美国产不卡| 亚洲一区电影777| 成人黄色软件下载| 26uuu久久天堂性欧美| 午夜精品影院在线观看| 色综合色狠狠天天综合色| 国产亚洲精品aa午夜观看| 蜜桃久久精品一区二区| 欧美日本一区二区三区四区| 亚洲特黄一级片| 国产成人亚洲综合a∨婷婷 | 亚洲色图制服诱惑| 国产精品一区二区在线观看不卡 | 国产成人精品三级| 337p日本欧洲亚洲大胆精品| 午夜不卡在线视频| 欧美体内she精高潮| 一区二区三区在线视频播放| 99久久精品免费| 国产精品国产三级国产| 国产成人av电影在线| 精品免费日韩av| 激情综合一区二区三区| 欧美大黄免费观看| 久久99精品国产91久久来源| 欧美xxxx在线观看| 国内精品伊人久久久久av一坑| 日韩欧美国产综合| 精品一区二区日韩| 久久久久久97三级| 粉嫩嫩av羞羞动漫久久久 | 国产欧美日韩在线|