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

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

?? dcigettext.c

?? 一個(gè)windows上的加解密程式 提供方便的介面讓使用者操作
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
/* Implementation of the internal dcigettext function.   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.   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 mempcpy().   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 <sys/types.h>#ifdef __GNUC__# define alloca __builtin_alloca# define HAVE_ALLOCA 1#else# if defined HAVE_ALLOCA_H || defined _LIBC#  include <alloca.h># else#  ifdef _AIX #pragma alloca#  else#   ifndef allocachar *alloca ();#   endif#  endif# endif#endif#include <errno.h>#ifndef errnoextern int errno;#endif#ifndef __set_errno# define __set_errno(val) errno = (val)#endif#include <stddef.h>#include <stdlib.h>#include <string.h>#if !HAVE_STRCHR && !defined _LIBC# ifndef strchr#include <strings.h>#  define strchr index# endif#endif#if defined HAVE_UNISTD_H || defined _LIBC# include <unistd.h>#endif#include <locale.h>#if defined HAVE_SYS_PARAM_H || defined _LIBC# include <sys/param.h>#endif#include "gettextP.h"#ifdef _LIBC# include <libintl.h>#else# include "libgnuintl.h"#endif#include "hash-string.h"/* Thread safetyness.  */#ifdef _LIBC# include <bits/libc-lock.h>#else/* Provide dummy implementation if this is outside glibc.  */# define __libc_lock_define_initialized(CLASS, NAME)# define __libc_lock_lock(NAME)# define __libc_lock_unlock(NAME)# define __libc_rwlock_define_initialized(CLASS, NAME)# define __libc_rwlock_rdlock(NAME)# define __libc_rwlock_unlock(NAME)#endif/* Alignment of types.  */#if defined __GNUC__ && __GNUC__ >= 2# define alignof(TYPE) __alignof__ (TYPE)#else# define alignof(TYPE) \    ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)#endif/* The internal variables in the standalone libintl.a must have different   names than the internal variables in GNU libc, otherwise programs   using libintl.a cannot be linked statically.  */#if !defined _LIBC# define _nl_default_default_domain _nl_default_default_domain__# define _nl_current_default_domain _nl_current_default_domain__# define _nl_default_dirname _nl_default_dirname__# define _nl_domain_bindings _nl_domain_bindings__#endif/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */#ifndef offsetof# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))#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.  */# define getcwd __getcwd# ifndef stpcpy#  define stpcpy __stpcpy# endif# define tfind __tfind#else# if !defined HAVE_GETCWDchar *getwd ();#  define getcwd(buf, max) getwd (buf)# elsechar *getcwd ();# endif# ifndef HAVE_STPCPYstatic char *stpcpy PARAMS ((char *dest, const char *src));# endif# ifndef HAVE_MEMPCPYstatic void *mempcpy PARAMS ((void *dest, const void *src, size_t n));# endif#endif/* Amount to increase buffer size by in each try.  */#define PATH_INCR 32/* The following is from pathmax.h.  *//* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define   PATH_MAX but might cause redefinition warnings when sys/param.h is   later included (as on MORE/BSD 4.3).  */#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__)# include <limits.h>#endif#ifndef _POSIX_PATH_MAX# define _POSIX_PATH_MAX 255#endif#if !defined PATH_MAX && defined _PC_PATH_MAX# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))#endif/* Don't include sys/param.h if it already has been.  */#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN# include <sys/param.h>#endif#if !defined PATH_MAX && defined MAXPATHLEN# define PATH_MAX MAXPATHLEN#endif#ifndef PATH_MAX# define PATH_MAX _POSIX_PATH_MAX#endif/* Pathname support.   ISSLASH(C)           tests whether C is a directory separator character.   IS_ABSOLUTE_PATH(P)  tests whether P is an absolute path.  If it is not,                        it may be concatenated to a directory pathname.   IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification. */#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__  /* Win32, OS/2, DOS */# define ISSLASH(C) ((C) == '/' || (C) == '\\')# define HAS_DEVICE(P) \    ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \     && (P)[1] == ':')# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))# define IS_PATH_WITH_DIR(P) \    (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))#else  /* Unix */# define ISSLASH(C) ((C) == '/')# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)#endif/* 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.  Neither do SUSV2 and   ISO C 99.  So we can use this feature only on selected systems (e.g.   those using GNU C Library).  */#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)# define HAVE_LOCALE_NULL#endif/* This is the type used for the search tree where known translations   are stored.  */struct known_translation_t{  /* Domain in which to search.  */  char *domainname;  /* The category.  */  int category;  /* State of the catalog counter at the point the string was found.  */  int counter;  /* Catalog where the string was found.  */  struct loaded_l10nfile *domain;  /* And finally the translation.  */  const char *translation;  size_t translation_length;  /* Pointer to the string in question.  */  char msgid[ZERO];};/* Root of the search tree with known translations.  We can use this   only if the system provides the `tsearch' function family.  */#if defined HAVE_TSEARCH || defined _LIBC# include <search.h>static void *root;# ifdef _LIBC#  define tsearch __tsearch# endif/* Function to compare two entries in the table of known translations.  */static int transcmp PARAMS ((const void *p1, const void *p2));static inttranscmp (p1, p2)     const void *p1;     const void *p2;{  const struct known_translation_t *s1;  const struct known_translation_t *s2;  int result;  s1 = (const struct known_translation_t *) p1;  s2 = (const struct known_translation_t *) p2;  result = strcmp (s1->msgid, s2->msgid);  if (result == 0)    {      result = strcmp (s1->domainname, s2->domainname);      if (result == 0)	/* We compare the category last (though this is the cheapest	   operation) since it is hopefully always the same (namely	   LC_MESSAGES).  */	result = s1->category - s2->category;    }  return result;}#endif/* Name of the default domain used for gettext(3) prior any call to   textdomain(3).  The default value for this is "messages".  */const char _nl_default_default_domain[] = "messages";/* Value used as the default domain for gettext(3).  */const char *_nl_current_default_domain = _nl_default_default_domain;/* Contains the default location of the message catalogs.  */const char _nl_default_dirname[] = LOCALEDIR;/* List with bindings of specific domains created by bindtextdomain()   calls.  */struct binding *_nl_domain_bindings;/* Prototypes for local functions.  */static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain,				    unsigned long int n,				    const char *translation,				    size_t translation_len))     internal_function;static unsigned long int plural_eval PARAMS ((struct expression *pexp,					      unsigned long int n))     internal_function;static const char *category_to_name PARAMS ((int category)) internal_function;static const char *guess_category_value PARAMS ((int category,						 const char *categoryname))     internal_function;/* For those loosing systems which don't have `alloca' we have to add   some additional code emulating it.  */#ifdef HAVE_ALLOCA/* Nothing has to be done.  */# define ADD_BLOCK(list, address) /* nothing */# define FREE_BLOCKS(list) /* nothing */#elsestruct block_list{  void *address;  struct block_list *next;};# define ADD_BLOCK(list, addr)						      \  do {									      \    struct block_list *newp = (struct block_list *) malloc (sizeof (*newp));  \    /* If we cannot get a free block we cannot add the new element to	      \       the list.  */							      \    if (newp != NULL) {							      \      newp->address = (addr);						      \      newp->next = (list);						      \      (list) = newp;							      \    }									      \  } while (0)# define FREE_BLOCKS(list)						      \  do {									      \    while (list != NULL) {						      \      struct block_list *old = list;					      \      list = list->next;						      \      free (old);							      \    }									      \  } while (0)# undef alloca# define alloca(size) (malloc (size))#endif	/* have alloca */#ifdef _LIBC/* List of blocks allocated for translations.  */typedef struct transmem_list{  struct transmem_list *next;  char data[ZERO];} transmem_block_t;static struct transmem_list *transmem_list;#elsetypedef unsigned char transmem_block_t;#endif/* Names for the libintl functions are a problem.  They must not clash   with existing names and they should follow ANSI C.  But this source   code is also used in GNU C Library where the names have a __   prefix.  So we have to make a difference here.  */#ifdef _LIBC# define DCIGETTEXT __dcigettext#else# define DCIGETTEXT dcigettext__#endif/* Lock variable to protect the global data in the gettext implementation.  */#ifdef _LIBC__libc_rwlock_define_initialized (, _nl_state_lock)#endif/* Checking whether the binaries runs SUID must be done and glibc provides   easier methods therefore we make a difference here.  */#ifdef _LIBC# define ENABLE_SECURE __libc_enable_secure# define DETERMINE_SECURE#else# ifndef HAVE_GETUID#  define getuid() 0# endif# ifndef HAVE_GETGID#  define getgid() 0# endif# ifndef HAVE_GETEUID#  define geteuid() getuid()# endif# ifndef HAVE_GETEGID#  define getegid() getgid()# endifstatic int enable_secure;# define ENABLE_SECURE (enable_secure == 1)# define DETERMINE_SECURE \  if (enable_secure == 0)						      \    {									      \      if (getuid () != geteuid () || getgid () != getegid ())		      \	enable_secure = 1;						      \      else								      \	enable_secure = -1;						      \    }#endif/* Look up MSGID in the DOMAINNAME message catalog for the current   CATEGORY locale and, if PLURAL is nonzero, search over string   depending on the plural form determined by N.  */char *DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)     const char *domainname;     const char *msgid1;     const char *msgid2;     int plural;     unsigned long int n;     int category;{#ifndef HAVE_ALLOCA  struct block_list *block_list = NULL;#endif  struct loaded_l10nfile *domain;  struct binding *binding;  const char *categoryname;  const char *categoryvalue;  char *dirname, *xdomainname;  char *single_locale;  char *retval;  size_t retlen;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品二三区| 久久久久久久久久久久电影| 亚洲男人天堂一区| 在线观看精品一区| 日日夜夜免费精品| 欧美一区日韩一区| 国产一区二区三区观看| 国产精品久久久久久亚洲毛片| 国产成人aaaa| 亚洲另类中文字| 3d动漫精品啪啪一区二区竹菊| 麻豆久久久久久| 国产欧美中文在线| 色婷婷综合久久久久中文| 午夜欧美在线一二页| 精品国产电影一区二区| 成人va在线观看| 一区二区激情小说| 欧美一卡二卡三卡四卡| 成人国产一区二区三区精品| 午夜精品久久久久久久 | 美女一区二区视频| 国产午夜亚洲精品理论片色戒| 一本大道av伊人久久综合| 日韩avvvv在线播放| 国产精品青草综合久久久久99| 色妹子一区二区| 久久精品999| 一区二区三区视频在线看| 欧美电影免费观看高清完整版在线| 成人黄色小视频在线观看| 日本亚洲免费观看| 国产亚洲欧洲997久久综合| 91黄色免费观看| 精品无人区卡一卡二卡三乱码免费卡| 国产精品国模大尺度视频| 欧美夫妻性生活| 99精品一区二区三区| 蜜臀av亚洲一区中文字幕| 亚洲黄色小说网站| 久久蜜臀精品av| 欧美理论电影在线| 972aa.com艺术欧美| 美女一区二区三区| 亚洲在线视频一区| 欧美国产视频在线| 欧美成人性战久久| 欧美男生操女生| 91丝袜美腿高跟国产极品老师| 国产曰批免费观看久久久| 亚洲va韩国va欧美va精品| 国产精品免费观看视频| 欧美精品一区男女天堂| 制服丝袜日韩国产| 欧美伊人久久久久久久久影院| 成人黄色小视频在线观看| 国产风韵犹存在线视精品| 久久福利视频一区二区| 亚洲成人黄色小说| 亚洲视频精选在线| 国产精品视频看| 欧美激情一区二区三区四区| 日韩免费一区二区三区在线播放| 欧美日韩mp4| 欧美伦理影视网| 欧美日韩国产欧美日美国产精品| 色呦呦一区二区三区| 91小视频免费观看| 91啪在线观看| 在线观看www91| 欧美性videosxxxxx| 欧洲精品视频在线观看| 欧美在线一二三四区| 色88888久久久久久影院按摩| 91在线观看一区二区| av一区二区三区四区| 高清不卡一区二区在线| 大陆成人av片| 91视频国产观看| 欧洲一区在线电影| 欧美片在线播放| 欧美不卡一区二区| 国产女人aaa级久久久级| 欧美激情一区二区三区四区| 亚洲婷婷在线视频| 一二三区精品视频| 日韩一区欧美二区| 韩国三级中文字幕hd久久精品| 国产精品影视在线观看| 99久免费精品视频在线观看| 色综合天天性综合| 欧美三级电影网站| 日韩女优电影在线观看| 国产丝袜欧美中文另类| 亚洲婷婷综合久久一本伊一区| 亚洲一二三四在线| 欧美a一区二区| 国产精品综合二区| 色综合色综合色综合 | 欧美视频自拍偷拍| 在线91免费看| 久久久久国产成人精品亚洲午夜| 国产精品视频免费看| 一级日本不卡的影视| 精品在线视频一区| 成人精品一区二区三区四区 | 欧美猛男超大videosgay| 日韩欧美一级在线播放| 欧美激情自拍偷拍| 亚洲成人动漫在线观看| 国内精品伊人久久久久影院对白| www.亚洲激情.com| 欧美老肥妇做.爰bbww| 国产亚洲成年网址在线观看| 亚洲综合小说图片| 国产高清久久久久| 欧美另类久久久品| 国产精品视频在线看| 日韩av一级片| 一本一道久久a久久精品综合蜜臀| 777亚洲妇女| 亚洲欧美另类小说| 精品亚洲免费视频| 欧美性大战久久| 国产精品萝li| 麻豆精品一区二区三区| 91麻豆精东视频| 久久久99精品免费观看| 亚洲第一久久影院| 成人三级在线视频| 日韩欧美黄色影院| 亚洲一二三级电影| 91亚洲国产成人精品一区二三| 精品国产三级电影在线观看| 偷拍日韩校园综合在线| 91免费看`日韩一区二区| 亚洲精品在线观| 亚洲一区在线观看免费观看电影高清| 国产在线国偷精品产拍免费yy| 欧美老人xxxx18| 亚洲精品成人天堂一二三| 国产超碰在线一区| 久久综合色鬼综合色| 日韩精品乱码av一区二区| 一本一本大道香蕉久在线精品 | 中文字幕中文乱码欧美一区二区 | 欧美军同video69gay| 综合自拍亚洲综合图不卡区| 国产精品资源站在线| 日韩色视频在线观看| 亚洲国产日日夜夜| 91麻豆国产福利在线观看| 欧美国产1区2区| 国产精品亚洲综合一区在线观看| 欧美mv和日韩mv的网站| 日韩国产精品久久久| 欧美日韩国产欧美日美国产精品| 一区二区三区四区在线播放| www.av精品| 综合久久久久久久| 91老司机福利 在线| 亚洲人精品一区| 色婷婷久久久综合中文字幕| 中文字幕亚洲区| 99热精品国产| 亚洲三级在线免费| 日本高清不卡aⅴ免费网站| 亚洲色图欧美激情| 欧美手机在线视频| 日本午夜一本久久久综合| 91麻豆精品国产91久久久更新时间| 亚洲国产中文字幕| 欧美精品三级日韩久久| 日本不卡的三区四区五区| 欧美www视频| 国产在线国偷精品产拍免费yy| 国产情人综合久久777777| 9人人澡人人爽人人精品| 中文字幕一区二区三区av| 欧美在线影院一区二区| 日韩福利电影在线| 久久一日本道色综合| 国产99久久久久久免费看农村| 中文av一区二区| 色哟哟一区二区三区| 亚洲成人免费在线| 日韩欧美一区在线观看| 国产成人在线视频播放| 亚洲嫩草精品久久| 91麻豆精品国产自产在线观看一区| 捆绑紧缚一区二区三区视频| 国产亚洲欧美日韩日本| 91亚洲精华国产精华精华液| 肉丝袜脚交视频一区二区| 久久婷婷国产综合精品青草| 成人成人成人在线视频| 亚洲成人av福利| 国产日产精品一区| 欧美视频一二三区| 国产一区二区三区国产|