Back to index

courier  0.68.2
Defines | Functions | Variables
os2compat.c File Reference
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>

Go to the source code of this file.

Defines

#define OS2_AWARE

Functions

unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue)
char * _nl_getenv (const char *name)
static __attribute__ ((constructor))

Variables

char libintl_nl_default_dirname [MAXPATHLEN+1]
char * _nlos2_libdir = NULL
char * _nlos2_localealiaspath = NULL
char * _nlos2_localedir = NULL

Define Documentation

#define OS2_AWARE

Definition at line 19 of file os2compat.c.


Function Documentation

static __attribute__ ( (constructor)  ) [static]

Definition at line 48 of file os2compat.c.

{
  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);
}
char* _nl_getenv ( const char *  name)

Definition at line 32 of file os2compat.c.

{
  unsigned char *value;
  if (DosScanEnv (name, &value))
    return NULL;
  else
    return value;
}

Here is the call graph for this function:

unsigned long DosScanEnv ( const unsigned char *  pszName,
unsigned char **  ppszValue 
)

Here is the caller graph for this function:


Variable Documentation

Definition at line 44 of file os2compat.c.

Definition at line 45 of file os2compat.c.

Definition at line 46 of file os2compat.c.

char libintl_nl_default_dirname[MAXPATHLEN+1]

Definition at line 42 of file os2compat.c.