40
char _nl_default_dirname[] = /* a 260+1 bytes large buffer */
41
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
42
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
43
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
44
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
45
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
46
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
47
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
48
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
50
#define LOCALEDIR_MAX 260
41
/* A fixed size buffer. */
42
char libintl_nl_default_dirname[MAXPATHLEN+1];
52
char *_os2_libdir = NULL;
53
char *_os2_localealiaspath = NULL;
54
char *_os2_localedir = NULL;
44
char *_nlos2_libdir = NULL;
45
char *_nlos2_localealiaspath = NULL;
46
char *_nlos2_localedir = NULL;
56
48
static __attribute__((constructor)) void
59
51
char *root = getenv ("UNIXROOT");
60
52
char *gnulocaledir = getenv ("GNULOCALEDIR");
62
_os2_libdir = gnulocaledir;
54
_nlos2_libdir = gnulocaledir;
67
59
size_t sl = strlen (root);
68
_os2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);
69
memcpy (_os2_libdir, root, sl);
70
memcpy (_os2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);
60
_nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);
61
memcpy (_nlos2_libdir, root, sl);
62
memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);
65
_nlos2_libdir = LIBDIR;
76
_os2_localealiaspath = gnulocaledir;
77
if (!_os2_localealiaspath)
68
_nlos2_localealiaspath = gnulocaledir;
69
if (!_nlos2_localealiaspath)
81
73
size_t sl = strlen (root);
82
_os2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1);
83
memcpy (_os2_localealiaspath, root, sl);
84
memcpy (_os2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1);
74
_nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1);
75
memcpy (_nlos2_localealiaspath, root, sl);
76
memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1);
87
_os2_localealiaspath = LOCALE_ALIAS_PATH;
79
_nlos2_localealiaspath = LOCALE_ALIAS_PATH;
90
_os2_localedir = gnulocaledir;
82
_nlos2_localedir = gnulocaledir;
83
if (!_nlos2_localedir)
95
87
size_t sl = strlen (root);
96
_os2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1);
97
memcpy (_os2_localedir, root, sl);
98
memcpy (_os2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1);
88
_nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1);
89
memcpy (_nlos2_localedir, root, sl);
90
memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1);
101
_os2_localedir = LOCALEDIR;
93
_nlos2_localedir = LOCALEDIR;
105
extern const char _nl_default_dirname__[];
106
if (strlen (_os2_localedir) <= LOCALEDIR_MAX)
107
strcpy (_nl_default_dirname__, _os2_localedir);
96
if (strlen (_nlos2_localedir) <= MAXPATHLEN)
97
strcpy (libintl_nl_default_dirname, _nlos2_localedir);