diff options
author | Marcus Brinkmann <[email protected]> | 2006-03-14 12:44:14 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2006-03-14 12:44:14 +0000 |
commit | e0006200c25df69965af5aea7e1a11fe67c70db7 (patch) | |
tree | 6d3444ef20371e9fbfa03f85bb58746b1d32b2ae /intl/os2compat.c | |
parent | 2006-03-06 Marcus Brinkmann <[email protected]> (diff) | |
download | libgpg-error-e0006200c25df69965af5aea7e1a11fe67c70db7.tar.gz libgpg-error-e0006200c25df69965af5aea7e1a11fe67c70db7.zip |
2006-03-14 Marcus Brinkmann <[email protected]>
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 <[email protected]>
* Version 0.14.5 released.
m4/
2006-03-14 gettextize <[email protected]>
* 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 <[email protected]>
* Makefile.in.in: Upgrade to gettext-0.14.5.
* Rules-quot: Upgrade to gettext-0.14.5.
Diffstat (limited to 'intl/os2compat.c')
-rw-r--r-- | intl/os2compat.c | 98 |
1 files changed, 98 insertions, 0 deletions
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 <config.h> +#endif + +#include <stdlib.h> +#include <string.h> +#include <sys/param.h> + +/* 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); +} |