Changeset 1841


Ignore:
Timestamp:
Mar 13, 2005, 12:00:07 PM (20 years ago)
Author:
bird
Message:

Initial porting of intl.

Location:
trunk/src/emx/src/lib/lgpl/intl
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/lib/lgpl/intl/bindtextdom.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2626#include <string.h>
    2727
    28 #ifdef _LIBC
     28#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    2929# include <libintl.h>
    3030#else
     
    4646   names than the internal variables in GNU libc, otherwise programs
    4747   using libintl.a cannot be linked statically.  */
    48 #if !defined _LIBC
     48#if !defined(_LIBC)
     49# ifdef IN_INNOTEK_LIBC
     50# define _nl_default_dirname __libc_nl_default_dirname
     51# define _nl_domain_bindings __libc_nl_domain_bindings
     52# else
    4953# define _nl_default_dirname libintl_nl_default_dirname
    5054# define _nl_domain_bindings libintl_nl_domain_bindings
     55# endif
    5156#endif
    5257
     
    7580   code is also used in GNU C Library where the names have a __
    7681   prefix.  So we have to make a difference here.  */
    77 #ifdef _LIBC
     82#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    7883# define BINDTEXTDOMAIN __bindtextdomain
    7984# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
  • trunk/src/emx/src/lib/lgpl/intl/dcgettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2323
    2424#include "gettextP.h"
    25 #ifdef _LIBC
     25#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    2626# include <libintl.h>
    2727#else
     
    3535   code is also used in GNU C Library where the names have a __
    3636   prefix.  So we have to make a difference here.  */
    37 #ifdef _LIBC
     37#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    3838# define DCGETTEXT __dcgettext
    3939# define DCIGETTEXT __dcigettext
  • trunk/src/emx/src/lib/lgpl/intl/dcigettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    7272#include "gettextP.h"
    7373#include "plural-exp.h"
    74 #ifdef _LIBC
     74#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    7575# include <libintl.h>
    7676#else
     
    9090# define __libc_rwlock_rdlock(NAME)
    9191# define __libc_rwlock_unlock(NAME)
     92# define __libc_rwlock_wrlock(NAME)
    9293#endif
    9394
     
    103104   names than the internal variables in GNU libc, otherwise programs
    104105   using libintl.a cannot be linked statically.  */
    105 #if !defined _LIBC
     106#if !defined(_LIBC)
     107# ifdef IN_INNOTEK_LIBC
     108# define _nl_default_default_domain __libc_nl_default_default_domain
     109# define _nl_current_default_domain __libc_nl_current_default_domain
     110# define _nl_default_dirname __libc_nl_default_dirname
     111# define _nl_domain_bindings __libc_nl_domain_bindings
     112# else
    106113# define _nl_default_default_domain libintl_nl_default_default_domain
    107114# define _nl_current_default_domain libintl_nl_current_default_domain
    108115# define _nl_default_dirname libintl_nl_default_dirname
    109116# define _nl_domain_bindings libintl_nl_domain_bindings
     117# endif
    110118#endif
    111119
     
    171179#ifndef PATH_MAX
    172180# define PATH_MAX _POSIX_PATH_MAX
     181#endif
     182
     183/* Pathname support.
     184   ISSLASH(C)           tests whether C is a directory separator character.
     185   IS_ABSOLUTE_PATH(P)  tests whether P is an absolute path.  If it is not,
     186                        it may be concatenated to a directory pathname.
     187   IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
     188 */
     189#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
     190  /* Win32, OS/2, DOS */
     191# define ISSLASH(C) ((C) == '/' || (C) == '\\')
     192# define HAS_DEVICE(P) \
     193    ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
     194     && (P)[1] == ':')
     195# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
     196# define IS_PATH_WITH_DIR(P) \
     197    (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
     198#else
     199  /* Unix */
     200# define ISSLASH(C) ((C) == '/')
     201# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
     202# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
    173203#endif
    174204
     
    333363   code is also used in GNU C Library where the names have a __
    334364   prefix.  So we have to make a difference here.  */
    335 #ifdef _LIBC
     365#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    336366# define DCIGETTEXT __dcigettext
    337367#else
     
    487517  if (binding == NULL)
    488518    dirname = (char *) _nl_default_dirname;
    489   else if (binding->dirname[0] == '/')
     519  else if (IS_ABSOLUTE_PATH(binding->dirname))
    490520    dirname = binding->dirname;
    491521  else
     
    572602          /* When this is a SUID binary we must not allow accessing files
    573603             outside the dedicated directories.  */
    574           if (ENABLE_SECURE && strchr (single_locale, '/') != NULL)
     604          if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale))
    575605            /* Ingore this entry.  */
    576606            continue;
     
    11271157   function is available, though.  Also allow the symbol HAVE_STPCPY
    11281158   to be defined.  */
    1129 #if !_LIBC && !HAVE_STPCPY
     1159#if (!defined(_LIBC) || !_LIBC) && !HAVE_STPCPY
    11301160static char *
    11311161stpcpy (dest, src)
     
    11391169#endif
    11401170
    1141 #if !_LIBC && !HAVE_MEMPCPY
     1171#if (!defined(_LIBC) || !_LIBC) && !HAVE_MEMPCPY
    11421172static void *
    11431173mempcpy (dest, src, n)
  • trunk/src/emx/src/lib/lgpl/intl/dcngettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2323
    2424#include "gettextP.h"
    25 #ifdef _LIBC
     25#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    2626# include <libintl.h>
    2727#else
     
    3535   code is also used in GNU C Library where the names have a __
    3636   prefix.  So we have to make a difference here.  */
    37 #ifdef _LIBC
     37#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    3838# define DCNGETTEXT __dcngettext
    3939# define DCIGETTEXT __dcigettext
  • trunk/src/emx/src/lib/lgpl/intl/dgettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2525
    2626#include "gettextP.h"
    27 #ifdef _LIBC
     27#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    2828# include <libintl.h>
    2929#else
     
    3737   code is also used in GNU C Library where the names have a __
    3838   prefix.  So we have to make a difference here.  */
    39 #ifdef _LIBC
     39#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    4040# define DGETTEXT __dgettext
    4141# define DCGETTEXT INTUSE(__dcgettext)
  • trunk/src/emx/src/lib/lgpl/intl/dngettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2525
    2626#include "gettextP.h"
    27 #ifdef _LIBC
     27#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    2828# include <libintl.h>
    2929#else
     
    3737   code is also used in GNU C Library where the names have a __
    3838   prefix.  So we have to make a difference here.  */
    39 #ifdef _LIBC
     39#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    4040# define DNGETTEXT __dngettext
    4141# define DCNGETTEXT __dcngettext
  • trunk/src/emx/src/lib/lgpl/intl/finddomain.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    3434
    3535#include "gettextP.h"
     36#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
     37# include <libintl.h>
     38#else
     39# include "libgnuintl.h"
     40#endif
     41
    3642#ifdef _LIBC
    37 # include <libintl.h>
    3843# include <bits/libc-lock.h>
    3944#else
    40 # include "libgnuintl.h"
     45# define __libc_rwlock_define_initialized(a,b)  do {} while (0)
     46#define  __libc_rwlock_rdlock(l)                do {} while (0)
     47#define  __libc_rwlock_wrlock(l)                do {} while (0)
     48#define  __libc_rwlock_unlock(l)                do {} while (0)
    4149#endif
    4250
  • trunk/src/emx/src/lib/lgpl/intl/gettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    3030
    3131#include "gettextP.h"
    32 #ifdef _LIBC
     32#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    3333# include <libintl.h>
    3434#else
     
    4242   code is also used in GNU C Library where the names have a __
    4343   prefix.  So we have to make a difference here.  */
    44 #ifdef _LIBC
     44#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    4545# define GETTEXT __gettext
    4646# define DCGETTEXT INTUSE(__dcgettext)
  • trunk/src/emx/src/lib/lgpl/intl/gettextP.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    3535
    3636#include "gmo.h"                /* Get nls_uint32.  */
     37
     38#include <locale.h> //bird hack
    3739
    3840/* @@ end of prolog @@ */
     
    140142/* We want to allocate a string at the end of the struct.  But ISO C
    141143   doesn't allow zero sized arrays.  */
    142 #ifdef __GNUC__
     144#if defined(__GNUC__) && !defined(IN_INNOTEK_LIBC)
    143145# define ZERO 0
    144146#else
     
    166168#endif
    167169
     170#define _nl_find_domain __libc_nl_find_domain /* bird */
    168171struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
    169172                                                 char *__locale,
     
    171174                                              struct binding *__domainbinding))
    172175     internal_function;
     176#define _nl_load_domain __libc_nl_load_domain /* bird */
    173177void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
    174178                              struct binding *__domainbinding))
    175179     internal_function;
     180#define _nl_init_domain_conv __libc_nl_init_domain_conv /* bird */
    176181const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
    177182                                          struct loaded_domain *__domain,
    178183                                          struct binding *__domainbinding))
    179184     internal_function;
     185#define _nl_free_domain_conv __libc_nl_free_domain_conv /* bird */
    180186void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain))
    181187     internal_function;
    182188
     189#define _nl_find_msg __libc_nl_find_msg /* bird */
    183190char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
    184191                            struct binding *domainbinding,
     
    186193     internal_function;
    187194
    188 #ifdef _LIBC
     195#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    189196extern char *__gettext PARAMS ((const char *__msgid));
    190197extern char *__dgettext PARAMS ((const char *__domainname,
  • trunk/src/emx/src/lib/lgpl/intl/hash-string.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    3131#define HASHWORDBITS 32
    3232
     33#ifndef attribute_hidden
     34#define attribute_hidden
     35#endif
     36
     37#define __hash_string __libc_hash_string //bird
    3338
    3439/* Defines the so called `hashpjw' function by P.J. Weinberger
  • trunk/src/emx/src/lib/lgpl/intl/intl.smak

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    1 libc.TSRC += $(wildcard src/lib/lgpl/intl/*.c)
     1libc.TSRC += $(filter-out %plural-eval.c,$(wildcard src/lib/lgpl/intl/*.c))
    22
    33#$(foreach srcfile,$(wildcard src/lib/lgpl/intl/*.c), \
  • trunk/src/emx/src/lib/lgpl/intl/l10nflist.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    370370   function is available, though.  Also allow the symbol HAVE_STPCPY
    371371   to be defined.  */
    372 #if !_LIBC && !HAVE_STPCPY
     372#if (!defined(_LIBC) || !_LIBC) && !HAVE_STPCPY
    373373static char *
    374374stpcpy (dest, src)
  • trunk/src/emx/src/lib/lgpl/intl/loadinfo.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    5151#endif
    5252
     53/* Separator in PATH like lists of pathnames.  */
     54#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
     55  /* Win32, OS/2, DOS */
     56# define PATH_SEPARATOR ';'
     57#else
     58  /* Unix */
     59# define PATH_SEPARATOR ':'
     60#endif
     61
    5362/* Encoding of locale name parts.  */
    5463#define XPG_NORM_CODESET        1
     
    7483   names.  The return value is dynamically allocated and has to be
    7584   freed by the caller.  */
     85#define _nl_normalize_codeset __libc_nl_normalize_codeset //bird
    7686extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
    7787                                                  size_t name_len));
    7888
     89
     90#define _nl_make_l10nflist __libc__nl_make_l10nflist //bird
    7991extern struct loaded_l10nfile *
    8092_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
     
    8799
    88100
     101#define _nl_expand_alias __libc_nl_expand_alias //bird
    89102extern const char *_nl_expand_alias PARAMS ((const char *name));
    90103
    91104/* normalized_codeset is dynamically allocated and has to be freed by
    92105   the caller.  */
     106#define _nl_explode_name __libc_nl_explode_name //bird
    93107extern int _nl_explode_name PARAMS ((char *name, const char **language,
    94108                                     const char **modifier,
  • trunk/src/emx/src/lib/lgpl/intl/loadmsgcat.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    6060#endif
    6161
    62 #ifdef _LIBC
     62#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    6363# include <langinfo.h>
    6464# include <locale.h>
     
    7272#else
    7373# undef HAVE_MMAP
    74 #endif
     74# ifdef IN_INNOTEK_LIBC
     75#  define MAP_FAILED    ((void *)-1)
     76#  define TEMP_FAILURE_RETRY(expression) \
     77  (__extension__                                                              \
     78    ({ long int __result;                                                     \
     79       do __result = (long int) (expression);                                 \
     80       while (__result == -1L && errno == EINTR);                             \
     81       __result; }))
     82# endif
     83#endif
     84
    7585
    7686#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC
     
    90100# include <not-cancel.h>
    91101# include <bits/libc-lock.h>
    92 #endif
     102#else
     103# define __libc_lock_define_initialized_recursive(a,b)  do {} while (0)
     104# define __libc_lock_lock_recursive(l)                  do {} while (0)
     105# define __libc_lock_unlock_recursive(l)                do {} while (0)
     106#endif
     107#include "localecharset.h"
    93108
    94109/* Provide fallback values for macros that ought to be defined in <inttypes.h>.
     
    740755  if (name[0] == 'I' && name[1] == '\0')
    741756    {
    742 #if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
     757#if defined _LIBC || (defined (__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)))
    743758      /* The 'I' flag, in numeric format directives, replaces ASCII digits
    744759         with the 'outdigits' defined in the LC_CTYPE locale facet.  This is
     
    824839# else
    825840#  if HAVE_ICONV
    826                   extern const char *locale_charset PARAMS ((void));
     841                  //extern const char *locale_charset PARAMS ((void));
    827842                  outcharset = locale_charset ();
    828843#  endif
     
    843858          /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
    844859             we want to use transliteration.  */
    845 #   if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
    846        || _LIBICONV_VERSION >= 0x0105
     860#   if (defined (__GLIBC__) && ( (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2)) \
     861       || (defined (_LIBICONV_VERSION) && _LIBICONV_VERSION >= 0x0105)
    847862          if (strchr (outcharset, '/') == NULL)
    848863            {
  • trunk/src/emx/src/lib/lgpl/intl/localealias.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    179179          const char *start;
    180180
    181           while (locale_alias_path[0] == ':')
     181          while (locale_alias_path[0] == PATH_SEPARATOR)
    182182            ++locale_alias_path;
    183183          start = locale_alias_path;
    184184
    185           while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')
     185          while (locale_alias_path[0] != '\0'
     186                 && locale_alias_path[0] != PATH_SEPARATOR)
    186187            ++locale_alias_path;
    187188
  • trunk/src/emx/src/lib/lgpl/intl/localecharset.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2525
    2626/* Specification.  */
    27 #include "localcharset.h"
     27#include "localecharset.h"
    2828
    2929#if HAVE_STDDEF_H
     
    6868#endif
    6969
    70 #if ENABLE_RELOCATABLE
     70#if defined(ENABLE_RELOCATABLE) && ENABLE_RELOCATABLE
    7171# include "relocatable.h"
    7272#else
     
    274274  const char *aliases;
    275275
    276 #if !(defined WIN32 || defined OS2)
     276#if !defined WIN32
    277277
    278278# if HAVE_LANGINFO_CODESET
     
    319319  codeset = buf;
    320320
    321 #elif defined OS2
    322 
    323   const char *locale;
    324   static char buf[2 + 10 + 1];
    325   ULONG cp[3];
    326   ULONG cplen;
    327 
    328   /* Allow user to override the codeset, as set in the operating system,
    329      with standard language environment variables.  */
    330   locale = getenv ("LC_ALL");
    331   if (locale == NULL || locale[0] == '\0')
    332     {
    333       locale = getenv ("LC_CTYPE");
    334       if (locale == NULL || locale[0] == '\0')
    335         locale = getenv ("LANG");
    336     }
    337   if (locale != NULL && locale[0] != '\0')
    338     {
    339       /* If the locale name contains an encoding after the dot, return it.  */
    340       const char *dot = strchr (locale, '.');
    341 
    342       if (dot != NULL)
    343         {
    344           const char *modifier;
    345 
    346           dot++;
    347           /* Look for the possible @... trailer and remove it, if any.  */
    348           modifier = strchr (dot, '@');
    349           if (modifier == NULL)
    350             return dot;
    351           if (modifier - dot < sizeof (buf))
    352             {
    353               memcpy (buf, dot, modifier - dot);
    354               buf [modifier - dot] = '\0';
    355               return buf;
    356             }
    357         }
    358 
    359       /* Resolve through the charset.alias file.  */
    360       codeset = locale;
    361     }
    362   else
    363     {
    364       /* OS/2 has a function returning the locale's codepage as a number.  */
    365       if (DosQueryCp (sizeof (cp), cp, &cplen))
    366         codeset = "";
    367       else
    368         {
    369           sprintf (buf, "CP%u", cp[0]);
    370           codeset = buf;
    371         }
    372     }
    373 
    374321#endif
    375322
  • trunk/src/emx/src/lib/lgpl/intl/localecharset.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2626#endif
    2727
     28#define locale_charset __libc_locale_charset //bird
    2829
    2930/* Determine the current locale's character encoding, and canonicalize it
  • trunk/src/emx/src/lib/lgpl/intl/localename.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2626#include <stdlib.h>
    2727#include <locale.h>
     28
     29#include "gettextP.h"
    2830
    2931#if defined _WIN32 || defined __WIN32__
     
    769771#endif
    770772}
     773
  • trunk/src/emx/src/lib/lgpl/intl/ngettext.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    3030
    3131#include "gettextP.h"
    32 #ifdef _LIBC
     32#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    3333# include <libintl.h>
    3434#else
     
    4444   code is also used in GNU C Library where the names have a __
    4545   prefix.  So we have to make a difference here.  */
    46 #ifdef _LIBC
     46#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    4747# define NGETTEXT __ngettext
    4848# define DCNGETTEXT __dcngettext
  • trunk/src/emx/src/lib/lgpl/intl/plural-exp.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    9494         must follow ANSI C and not start with __.
    9595   So we have to distinguish the three cases.  */
    96 #ifdef _LIBC
     96#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    9797# define FREE_EXPRESSION __gettext_free_exp
    9898# define PLURAL_PARSE __gettextparse
     
    120120     internal_function;
    121121
     122#if 0 //bird
    122123#if !defined (_LIBC) && !defined (IN_LIBINTL)
    123124extern unsigned long int plural_eval PARAMS ((struct expression *pexp,
    124125                                              unsigned long int n));
    125126#endif
     127#endif //bird
    126128
    127129#endif /* _PLURAL_EXP_H */
  • trunk/src/emx/src/lib/lgpl/intl/plural.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    5757/* The main function generated by the parser is called __gettextparse,
    5858   but we want it to be called PLURAL_PARSE.  */
    59 #ifndef _LIBC
     59#if !defined(_LIBC) && !defined(IN_INNOTEK_LIBC)
    6060# define __gettextparse PLURAL_PARSE
    6161#endif
     
    249249static const char *const yytname[] =
    250250{
    251   "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", 
    252   "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", 
     251  "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2",
     252  "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'",
    253253  "start", "exp", 0
    254254};
  • trunk/src/emx/src/lib/lgpl/intl/textdomain.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r1840 r1841  
    2525#include <string.h>
    2626
    27 #ifdef _LIBC
     27#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    2828# include <libintl.h>
    2929#else
     
    4545   names than the internal variables in GNU libc, otherwise programs
    4646   using libintl.a cannot be linked statically.  */
    47 #if !defined _LIBC
     47#if !defined(_LIBC)
     48# ifdef IN_INNOTEK_LIBC
     49# define _nl_default_default_domain __libc_nl_default_default_domain
     50# define _nl_current_default_domain __libc_nl_current_default_domain
     51# else
    4852# define _nl_default_default_domain libintl_nl_default_default_domain
    4953# define _nl_current_default_domain libintl_nl_current_default_domain
     54# endif
    5055#endif
    5156
     
    6368   code is also used in GNU C Library where the names have a __
    6469   prefix.  So we have to make a difference here.  */
    65 #ifdef _LIBC
     70#if defined(_LIBC) || defined(IN_INNOTEK_LIBC)
    6671# define TEXTDOMAIN __textdomain
    6772# ifndef strdup
Note: See TracChangeset for help on using the changeset viewer.