From e0006200c25df69965af5aea7e1a11fe67c70db7 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 14 Mar 2006 12:44:14 +0000 Subject: 2006-03-14 Marcus Brinkmann Many files regenerated. * src/Makefile.am (gpg_error_CPPFLAGS, libgpg_error_la_CPPFLAGS): Add -I../intl. * Makefile.am (SUBDIRS): Add intl. * configure.ac (AC_CONFIG_FILES): Add intl/Makefile. (AM_GNU_GETTEXT_VERSION): Bump to 0.14.5. intl/ 2005-05-23 GNU * Version 0.14.5 released. m4/ 2006-03-14 gettextize * codeset.m4: Upgrade to gettext-0.14.5. * gettext.m4: Upgrade to gettext-0.14.5. * glibc2.m4: New file, from gettext-0.14.5. * glibc21.m4: Upgrade to gettext-0.14.5. * iconv.m4: Upgrade to gettext-0.14.5. * intdiv0.m4: Upgrade to gettext-0.14.5. * intmax.m4: New file, from gettext-0.14.5. * inttypes.m4: Upgrade to gettext-0.14.5. * inttypes_h.m4: Upgrade to gettext-0.14.5. * inttypes-pri.m4: Upgrade to gettext-0.14.5. * isc-posix.m4: Upgrade to gettext-0.14.5. * lcmessage.m4: Upgrade to gettext-0.14.5. * lib-ld.m4: Upgrade to gettext-0.14.5. * lib-link.m4: Upgrade to gettext-0.14.5. * lib-prefix.m4: Upgrade to gettext-0.14.5. * longdouble.m4: New file, from gettext-0.14.5. * longlong.m4: New file, from gettext-0.14.5. * nls.m4: Upgrade to gettext-0.14.5. * po.m4: Upgrade to gettext-0.14.5. * printf-posix.m4: New file, from gettext-0.14.5. * progtest.m4: Upgrade to gettext-0.14.5. * signed.m4: New file, from gettext-0.14.5. * size_max.m4: New file, from gettext-0.14.5. * stdint_h.m4: Upgrade to gettext-0.14.5. * uintmax_t.m4: Upgrade to gettext-0.14.5. * ulonglong.m4: Upgrade to gettext-0.14.5. * wchar_t.m4: New file, from gettext-0.14.5. * wint_t.m4: New file, from gettext-0.14.5. * xsize.m4: New file, from gettext-0.14.5. * Makefile.am (EXTRA_DIST): Add the new files. po/ 2006-03-14 gettextize * Makefile.in.in: Upgrade to gettext-0.14.5. * Rules-quot: Upgrade to gettext-0.14.5. --- intl/os2compat.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 intl/os2compat.c (limited to 'intl/os2compat.c') diff --git a/intl/os2compat.c b/intl/os2compat.c new file mode 100644 index 0000000..d041de2 --- /dev/null +++ b/intl/os2compat.c @@ -0,0 +1,98 @@ +/* OS/2 compatibility functions. + Copyright (C) 2001-2002 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. */ + +#define OS2_AWARE +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include + +/* A version of getenv() that works from DLLs */ +extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); + +char * +_nl_getenv (const char *name) +{ + unsigned char *value; + if (DosScanEnv (name, &value)) + return NULL; + else + return value; +} + +/* A fixed size buffer. */ +char libintl_nl_default_dirname[MAXPATHLEN+1]; + +char *_nlos2_libdir = NULL; +char *_nlos2_localealiaspath = NULL; +char *_nlos2_localedir = NULL; + +static __attribute__((constructor)) void +nlos2_initialize () +{ + char *root = getenv ("UNIXROOT"); + char *gnulocaledir = getenv ("GNULOCALEDIR"); + + _nlos2_libdir = gnulocaledir; + if (!_nlos2_libdir) + { + if (root) + { + size_t sl = strlen (root); + _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); + memcpy (_nlos2_libdir, root, sl); + memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); + } + else + _nlos2_libdir = LIBDIR; + } + + _nlos2_localealiaspath = gnulocaledir; + if (!_nlos2_localealiaspath) + { + if (root) + { + size_t sl = strlen (root); + _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); + memcpy (_nlos2_localealiaspath, root, sl); + memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); + } + else + _nlos2_localealiaspath = LOCALE_ALIAS_PATH; + } + + _nlos2_localedir = gnulocaledir; + if (!_nlos2_localedir) + { + if (root) + { + size_t sl = strlen (root); + _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); + memcpy (_nlos2_localedir, root, sl); + memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); + } + else + _nlos2_localedir = LOCALEDIR; + } + + if (strlen (_nlos2_localedir) <= MAXPATHLEN) + strcpy (libintl_nl_default_dirname, _nlos2_localedir); +} -- cgit v1.2.3