Remove Unixware and openserver support

This commit is contained in:
chase
2018-05-19 19:50:35 -05:00
committed by Jon Trulson
parent beea573d17
commit 07900bd93b
375 changed files with 725 additions and 9112 deletions

View File

@@ -115,10 +115,6 @@ SYS_LIBRARIES = -lm -ldl -lgen -lresolv -lbsm -lcmd $(PAM_LIB)
# endif
#endif
#if defined(USLArchitecture)
SYS_LIBRARIES = -lm -ldl -lgen -lresolv
#endif
#if defined(RsArchitecture)
SYS_LIBRARIES = -ls
#endif
@@ -167,14 +163,14 @@ INCLUDES = -I$(XPROJECTROOT)/include/freetype2
dpylist.c error.c file.c mitauth.c protodpy.c policy.c \
reset.c resource.c server.c session.c socket.c util.c \
verify.c version.c apollo.c sysauth.c fontpath.c $(DESSRCS) \
qualify.c usl_ptty.c choose.c netaddr.c xdmcp.c \
qualify.c choose.c netaddr.c xdmcp.c \
$(PAM_SRCS) $(SOLARIS_SRCS)
OBJS1 = access.o account.o auth.o genauth.o daemon.o dm.o \
dpylist.o error.o file.o mitauth.o protodpy.o policy.o \
reset.o resource.o server.o session.o socket.o util.o \
verify.o version.o apollo.o sysauth.o fontpath.o $(DESOBJS) \
qualify.o usl_ptty.o choose.o netaddr.o xdmcp.o \
qualify.o choose.o netaddr.o xdmcp.o \
$(PAM_OBJS) $(SOLARIS_OBJS)
PROG2 = dtgreet
@@ -322,22 +318,6 @@ EXTRA_RES_DEFINES = \
LOCAL_LIBRARIES2 = $(BASE_LIBS2)
LOCAL_LIBRARIES3 = $(BASE_LIBS3)
/* USL needs to resolve all Xt symbols invoked by Xmu at shared
* library link time.
* Likewise for the BMS references from libDt for vuegreet.
*/
#if defined(USLArchitecture)
# if HasSharedLibraries
BASE_LIBS1 = $(XAUTHLIB) $(LOGINXMULIB) $(XDMCPLIB) $(XTOOLLIB) \
$(LOGINXLIB)
BASE_LIBS2 = $(DTWIDGETLIB) $(DTSVCLIB) $(TTLIB) \
$(XMLIB) $(XTOOLLIB) $(XLIB)
# endif
#endif
/**************************************************************************
*
* Extra things for the HP-UX BLS version

View File

@@ -131,9 +131,6 @@ extern int errno;
#ifdef SVR4
# include <netdb.h>
# include <sys/sockio.h>
#ifdef USL
# include <sys/stropts.h>
#endif
#endif
#ifdef __convex__
# include <sync/queue.h>
@@ -784,35 +781,6 @@ DefineLocal (FILE *file, Xauth *auth)
#endif
}
#ifdef USL
/* Deal with different SIOCGIFCONF ioctl semantics on UnixWare */
static int
ifioctl (int fd, int cmd, char *arg)
{
struct strioctl ioc;
int ret;
bzero((char *) &ioc, sizeof(ioc));
ioc.ic_cmd = cmd;
ioc.ic_timout = 0;
if (cmd == SIOCGIFCONF)
{
ioc.ic_len = ((struct ifconf *) arg)->ifc_len;
ioc.ic_dp = ((struct ifconf *) arg)->ifc_buf;
}
else
{
ioc.ic_len = sizeof(struct ifreq);
ioc.ic_dp = arg;
}
ret = ioctl(fd, I_STR, (char *) &ioc);
if (ret >= 0 && cmd == SIOCGIFCONF)
((struct ifconf *) arg)->ifc_len = ioc.ic_len;
return(ret);
}
#endif /* USL */
#ifdef WINTCP /* NCR with Wollongong TCP */
#include <sys/un.h>
@@ -920,11 +888,7 @@ DefineSelf (fd, file, auth)
ifc.ifc_len = sizeof (buf);
ifc.ifc_buf = buf;
#ifdef USL
if (ifioctl (fd, SIOCGIFCONF, (char *) &ifc) < 0)
#else
if (ioctl (fd, SIOCGIFCONF, (char *) &ifc) < 0)
#endif
#ifdef __osf__
switch (addr_family)
{

View File

@@ -452,113 +452,6 @@ Dtlogin*tr_TR.ISO8859-9.languageName: %|nls-447-#Turkish#|
#endif /* __osf__ */
#if defined (USL)
!!######################################################################
!!
!! LANGUAGE MENU NAME MAPPINGS
#undef C
XCOMM undef C
Dtlogin*C.languageName: %|nls-600-##|
Dtlogin*POSIX.languageName: %|nls-601-##|
Dtlogin*da.languageName: %|nls-602-##|
Dtlogin*da_DK.850.languageName: %|nls-603-##|
Dtlogin*da_DK.865.languageName: %|nls-604-##|
Dtlogin*de.languageName: %|nls-605-##|
Dtlogin*de_DE.437.languageName: %|nls-606-##|
Dtlogin*de_DE.850.languageName: %|nls-607-##|
Dtlogin*de_AT.languageName: %|nls-608-##|
Dtlogin*de_AT.437.languageName: %|nls-609-##|
Dtlogin*de_AT.850.languageName: %|nls-610-##|
Dtlogin*de_CH.languageName: %|nls-611-##|
Dtlogin*de_CH.437.languageName: %|nls-612-##|
Dtlogin*de_CH.850.languageName: %|nls-613-##|
Dtlogin*el.languageName: %|nls-614-##|
Dtlogin*en.languageName: %|nls-615-##|
Dtlogin*en_GB.437.languageName: %|nls-616-##|
Dtlogin*en_GB.646.languageName: %|nls-617-##|
Dtlogin*en_GB.850.languageName: %|nls-618-##|
Dtlogin*en_AU.languageName: %|nls-619-##|
Dtlogin*en_AU.437.languageName: %|nls-620-##|
Dtlogin*en_AU.646.languageName: %|nls-621-##|
Dtlogin*en_AU.850.languageName: %|nls-622-##|
Dtlogin*en_CA.languageName: %|nls-623-##|
Dtlogin*en_CA.437.languageName: %|nls-624-##|
Dtlogin*en_CA.646.languageName: %|nls-625-##|
Dtlogin*en_CA.850.languageName: %|nls-626-##|
Dtlogin*en_IR.languageName: %|nls-627-##|
Dtlogin*en_IR.437.languageName: %|nls-628-##|
Dtlogin*en_IR.850.languageName: %|nls-629-##|
Dtlogin*en_IR.646.languageName: %|nls-630-##|
Dtlogin*en_NZ.languageName: %|nls-631-##|
Dtlogin*en_NZ.437.languageName: %|nls-632-##|
Dtlogin*en_NZ.850.languageName: %|nls-633-##|
Dtlogin*en_NZ.646.languageName: %|nls-634-##|
Dtlogin*en_US.languageName: %|nls-635-##|
Dtlogin*en_US.437.languageName: %|nls-636-##|
Dtlogin*en_US.646.languageName: %|nls-637-##|
Dtlogin*en_US.850.languageName: %|nls-638-##|
Dtlogin*es.languageName: %|nls-639-##|
Dtlogin*es_ES.437.languageName: %|nls-640-##|
Dtlogin*es_ES.850.languageName: %|nls-641-##|
Dtlogin*es_AR.languageName: %|nls-642-##|
Dtlogin*es_AR.437.languageName: %|nls-643-##|
Dtlogin*es_AR.850.languageName: %|nls-644-##|
Dtlogin*es_CL.languageName: %|nls-645-##|
Dtlogin*es_CL.437.languageName: %|nls-646-##|
Dtlogin*es_CL.850.languageName: %|nls-647-##|
Dtlogin*es_MX.languageName: %|nls-648-##|
Dtlogin*es_MX.437.languageName: %|nls-649-##|
Dtlogin*es_MX.850.languageName: %|nls-650-##|
Dtlogin*es_VE.languageName: %|nls-651-##|
Dtlogin*es_VE.437.languageName: %|nls-652-##|
Dtlogin*es_VE.850.languageName: %|nls-653-##|
Dtlogin*fi.languageName: %|nls-654-##|
Dtlogin*fi_FI.437.languageName: %|nls-655-##|
Dtlogin*fi_FI.850.languageName: %|nls-656-##|
Dtlogin*fr.languageName: %|nls-657-##|
Dtlogin*fr_FR.437.languageName: %|nls-658-##|
Dtlogin*fr_FR.850.languageName: %|nls-659-##|
Dtlogin*fr_BE.languageName: %|nls-660-##|
Dtlogin*fr_BE.437.languageName: %|nls-661-##|
Dtlogin*fr_BE.850.languageName: %|nls-662-##|
Dtlogin*fr_CA.languageName: %|nls-663-##|
Dtlogin*fr_CA.850.languageName: %|nls-664-##|
Dtlogin*fr_CA.863.languageName: %|nls-665-##|
Dtlogin*fr_CH.languageName: %|nls-666-##|
Dtlogin*fr_CH.437.languageName: %|nls-667-##|
Dtlogin*fr_CH.850.languageName: %|nls-668-##|
Dtlogin*is.languageName: %|nls-669-##|
Dtlogin*is_IS.850.languageName: %|nls-670-##|
Dtlogin*it.languageName: %|nls-671-##|
Dtlogin*it_IT.437.languageName: %|nls-672-##|
Dtlogin*it_IT.850.languageName: %|nls-673-##|
Dtlogin*it_CH.languageName: %|nls-674-##|
Dtlogin*it_CH.437.languageName: %|nls-675-##|
Dtlogin*it_CH.850.languageName: %|nls-676-##|
Dtlogin*ja.languageName: %|nls-677-##|
Dtlogin*ja_JP.EUC.languageName: %|nls-678-##|
Dtlogin*nl.languageName: %|nls-679-##|
Dtlogin*nl_NL.437.languageName: %|nls-680-##|
Dtlogin*nl_NL.850.languageName: %|nls-681-##|
Dtlogin*nl_BE.languageName: %|nls-682-##|
Dtlogin*nl_BE.437.languageName: %|nls-683-##|
Dtlogin*nl_BE.850.languageName: %|nls-684-##|
Dtlogin*no.languageName: %|nls-685-##|
Dtlogin*no_NO.850.languageName: %|nls-686-##|
Dtlogin*no_NO.865.languageName: %|nls-687-##|
Dtlogin*pt.languageName: %|nls-688-##|
Dtlogin*pt_BR.languageName: %|nls-689-##|
Dtlogin*pt_PT.850.languageName: %|nls-690-##|
Dtlogin*pt_PT.860.languageName: %|nls-691-##|
Dtlogin*sv.languageName: %|nls-692-##|
Dtlogin*sv_SE.437.languageName: %|nls-693-##|
Dtlogin*sv_SE.850.languageName: %|nls-694-##|
#endif /* USL */
!!######################################################################
!!

View File

@@ -357,7 +357,7 @@ XCOMM ##########################################################################
dtdbcacherm="rm -f /tmp/dtdbcache_$DISPLAY"
#endif
dtstart_appgather="$DT_BINPATH/dtappgather &"
#if defined(USL) || defined(sun)
#if defined(sun)
dtstart_dsdm="$DT_BINPATH/dsdm &"
#endif
@@ -564,7 +564,7 @@ StartFirst()
tooltalk=$(GetFirst dtstart_ttsession) # get tooltalk client
dtdbcache=$(GetFirst dtstart_dtdbcache) # get dtdbcache client
#if defined(USL) || defined(sun)
#if defined(sun)
if [ -z "$SDT_NO_DSDM" ]; then
StartFirst dtstart_dsdm # start drag and drop proxy
fi

View File

@@ -34,8 +34,6 @@
HASH
#if defined (__osf__) || defined(__OpenBSD__) || defined(__NetBSD__)
pexec=$(LC_TIME=C ps -p $PPID | awk 'NR==2 {print $5}')
#elif defined(USL) && (OSMAJORVERSION > 1)
pexec=$(LC_TIME=C ps -p $PPID | awk 'NR==2 {print $6}')
#elif defined(linux)
pexec=$(LC_TIME=C /bin/ps -p $PPID 2>/dev/null | awk 'NR==2 {print $4}')
#elif defined(__FreeBSD__)

View File

@@ -85,18 +85,6 @@
#define sigmask(m) (1 << (( m-1)))
#endif
/***************************************************************************
*
* External variable declarations
*
***************************************************************************/
#if defined(USL)
extern int makepttypair ();
#endif
/***************************************************************************
*
* Local procedure declarations
@@ -182,15 +170,6 @@ main( int argc, char **argv )
if ( (progName = malloc(strlen(argv[0]) + 1)) != NULL )
strcpy(progName, argv[0]);
#if defined(USL)
/* create master slave pair for use in login */
if (makepttypair () < 0)
{
Debug ("Could not create pty for use in login");
exit (1);
}
#endif
/*
* Step 1 - load configuration parameters

View File

@@ -117,8 +117,6 @@
#define DEF_NLS_DIR "/usr/lib/nls/loc"
#elif defined(hpV4)
#define DEF_NLS_DIR "/usr/lib/nls/msg"
#elif defined(USL)
#define DEF_NLS_DIR "/usr/lib/locale"
#else
#define DEF_NLS_DIR CDE_INSTALLATION_TOP "/lib/nls/msg"
#endif

View File

@@ -1625,8 +1625,6 @@ StartClient( struct verify_info *verify, struct display *d, int *pidp )
failsafeArgv[i++] = "/usr/bin/X11/aixterm";
#elif defined(sun)
failsafeArgv[i++] = "/usr/openwin/bin/xterm";
#elif defined (USL)
failsafeArgv[i++] = "/usr/X/bin/xterm";
#elif defined(__hpux)
failsafeArgv[i++] = "/usr/bin/X11/hpterm";
#elif defined(__OpenBSD__)

View File

@@ -67,8 +67,7 @@
** __apollo Domain OS only
** __hp_osf HP OSF/1 OS only
** sun SUN OS only
** USL USL OS only
** SVR4 SUN OS and USL
** SVR4 SUN OS et al.
** _AIX AIX only
** _POWER AIX version 4 only
**
@@ -109,10 +108,6 @@
#endif
#endif
#if defined(USL)
#include <iaf.h>
#endif
#include "dm.h"
#include "vg.h"
#include "vgmsg.h"
@@ -124,8 +119,7 @@
#if !(defined(__hpux) || \
defined(__apollo) || \
defined(_AIX) || \
defined(sun) || \
defined(USL))
defined(sun))
#define generic
#endif
@@ -1809,209 +1803,6 @@ tsm_check_login(uid_t uid)
***************************************************************************/
#if defined(USL)
/***************************************************************************
*
* Start authentication routines (USL)
*
***************************************************************************/
#define LOGIN_SUCCESS 0
#define LOGIN_FAIL 1
#define INACTIVE 2
#define EXPIRED 3
#define IDLEWEEKS 4
#define MANDATORY 5
#define AGED 6
#define BADSHELL 7
#define NOHOME 8
#define PFLAG 11
/***************************************************************************
*
* External declarations (USL)
*
***************************************************************************/
/***************************************************************************
*
* Procedure declarations (USL)
*
***************************************************************************/
static void Audit( struct passwd *p, char *msg, int errnum) ;
static int PasswordAged( register struct passwd *pw) ;
static void WriteBtmp( char *name) ;
/***************************************************************************
*
* Global variables (USL)
*
***************************************************************************/
extern int Slaveptty_fd;
/***************************************************************************
*
* Audit (USL)
*
***************************************************************************/
static void
Audit( struct passwd *p, char *msg, int errnum )
{
/*
* make sure program is back to super-user...
*/
seteuid(0);
return;
}
/***************************************************************************
*
* WriteBtmp (USL)
*
* log bad login attempts
*
***************************************************************************/
static void
WriteBtmp( char *name )
{
return;
}
/***************************************************************************
*
* Authenticate (USL)
*
* verify the user
*
* return codes indicate authentication results.
***************************************************************************/
#define MAXATTEMPTS 3
int
Authenticate( struct display *d, char *name, char *passwd, char **msg )
{
int ret;
char **ava, *tty;
char *p;
char xlogname[137];
char xpasswd[137];
char xtty[137];
char *origpw;
/*
* Nothing to do if no name provided.
*/
if (!name)
return(VF_INVALID);
/*
* Save provided password.
*/
origpw = passwd;
if (!passwd) passwd = "";
/*
* Put the logname and the passwd on the ava stream
*/
if ((ret = dup2 (Slaveptty_fd, 0)) == -1)
Debug ("Problem with dup2\n");
ava = retava(Slaveptty_fd);
(void) bzero (xlogname, strlen (xlogname));
(void) sprintf (xlogname, "XLOGNAME=%s", name);
if ((ava = putava (xlogname, ava)) == NULL)
{
Debug ("Could not set logname ava\n");
}
(void) bzero (xpasswd, strlen (xpasswd));
(void) sprintf (xpasswd, "XPASSWD=%s", passwd);
if ((ava = putava (xpasswd, ava)) == NULL)
{
Debug ("Could not set passwd ava\n");
}
(void) bzero (xtty, strlen (xtty));
(void) sprintf (xtty, "XTTY=%s", ttyname(Slaveptty_fd));
if ((ava = putava (xtty, ava)) == NULL)
{
Debug ("Could not set tty ava\n");
}
if (setava (Slaveptty_fd, ava) != 0)
{
Debug ("Could not do setava\n");
}
/*
* invoke identification and authorizarion scheme
*/
switch (ret = invoke (Slaveptty_fd, "login"))
{
case LOGIN_SUCCESS:
Audit(p, " Successful login", 0);
return(VF_OK);
case LOGIN_FAIL:
return(origpw ? VF_INVALID : VF_CHALLENGE);
/* The next three cases need to define special return values */
/* for the aged passwords and accounts. */
case INACTIVE:
case IDLEWEEKS:
/* PasswdAged (linfo); */
return(VF_PASSWD_AGED);
case EXPIRED: /* SS */
/* AccountAged (linfo); */
return(VF_PASSWD_AGED);
/* These 3 cases should allow user to select a new password */
/* after displaying a warning, but current implementation */
/* only displays the warning. */
case MANDATORY:
case PFLAG:
case AGED:
return(VF_PASSWD_AGED);
default:
return(VF_INVALID); /* SS */
}
}
/***************************************************************************
*
* End authentication routines (USL)
*
***************************************************************************/
#endif /* USL */
#ifdef generic
/***************************************************************************
*

View File

@@ -1,160 +0,0 @@
/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: usl_ptty.c /main/3 1995/10/27 16:16:16 rswiston $ */
/* *
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
* (c) Copyright 1993, 1994 International Business Machines Corp. *
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
* (c) Copyright 1993, 1994 Novell, Inc. *
*/
/* usl_ptty.c: routines to perform USL's password authentication */
#include <stdio.h> /* just so file isn't empty */
#if defined (USL)
#include <sys/byteorder.h>
#include <termio.h>
#include <stropts.h>
#include <sys/stream.h>
#include <fcntl.h>
#include <utmpx.h>
#include <sys/types.h>
#include <pwd.h>
#include <errno.h>
#include <stdio.h>
#include <rx.h>
/* system calls */
extern int close();
extern int ioctl();
extern int getmsg();
/* externally defined routines */
extern int grantpt();
extern int unlockpt();
extern char *ptsname();
extern char *strncpy();
/* externally defined global variables */
int Termios_received = 0; /* received termios structure flag */
struct termios Termios; /* termios buffer */
#define RX_SLAVENAMELEN 32
/* locally defined global variables */
int Ptty_open; /* ptty open flag */
int Ptty_fd; /* master ptty fd */
int Slaveptty_fd; /* slave ptty fd */
char Slaveptty_name[RX_SLAVENAMELEN]; /* slave ptty device file name */
/*
* makepttypair()
*
* This function creates and opens a master/slave pair of pseudo ttys.
* It returns 0 for success, -1 for failure
*
*/
int
makepttypair()
{
char *ttyname; /* file name of slave pseudo tty */
pid_t mypid = getpid(); /* my process id */
struct passwd *pwp; /* password file entry */
Debug("makettypair\n");
if ((Ptty_fd = open("/dev/ptmx", O_RDWR)) == -1) {
Debug ("ptty: open ptmx failed, errno = %d\n", errno);
return(-1);
}
if (grantpt(Ptty_fd) == -1) {
Debug ("ptty: grantpt failed\n");
return(-1);
}
if (unlockpt(Ptty_fd) == -1) {
Debug ("ptty: unlockpt failed\n");
return(-1);
}
if ((ttyname = ptsname(Ptty_fd)) == NULL) {
Debug ("ptty: ptsname failed\n");
return(-1);
}
(void) strncpy(Slaveptty_name, ttyname, RX_SLAVENAMELEN);
if ((Slaveptty_fd = open(Slaveptty_name, O_RDWR)) == -1) {
Debug ("ptty: could not open pts %s, errno = %d\n",
Slaveptty_name, errno);
return(-1);
}
if (ioctl(Slaveptty_fd, I_PUSH, "ptem") == -1) {
Debug ("ptty: push ptem failed\n");
return(-1);
}
if (ioctl(Slaveptty_fd, I_PUSH, "ldterm") == -1) {
Debug ("ptty: push ldterm failed\n");
return(-1);
}
/*
* Note that since the following ioctl() is performed
* before the pckt module is pushed, it will not be sent back
* to the client. This is what we want.
*
*/
if (Termios_received)
if (ioctl(Slaveptty_fd, TCSETS, &Termios) == -1) {
Debug ("ptty: TCSETS failed\n");
return(-1);
}
if (ioctl(Ptty_fd, I_PUSH, "pckt") == -1) {
Debug ("ptty: push pckt failed\n");
return(-1);
}
/* disable ldterm input processing on server end */
if (ioctl(Ptty_fd, TIOCREMOTE, 1) == -1) {
Debug ("ptty: ioctl(TIOCREMOTE) failed\n");
return(-1);
}
Ptty_open = 1;
Debug ("ptty: pttys created\n");
return(0);
}
#endif /* USL */

View File

@@ -349,9 +349,7 @@ CleanUpChild( void )
sigsetmask(0);
#else
#if defined (SYSV) || defined (SVR4) || defined(linux)
#if !defined (USL)
setpgrp ();
#endif /* USL */
#else
setpgrp (0, getpid ());
sigsetmask (0);
@@ -951,83 +949,7 @@ ScanNLSDir(char *dirname)
}
#endif /* __osf__obsoleted__ */
#elif defined(USL)
#define LC_COLLATE "LC_COLLATE"
#define LC_CTYPE "LC_CTYPE"
#define LC_MESSAGES "LC_MESSAGES"
#define LC_MONETARY "LC_MONETARY"
#define LC_NUMERIC "LC_NUMERIC"
#define LC_TIME "LC_TIME"
/*
* Scan for installed locales on Novell/SCO platforms.
*/
{
DIR *nls_dirp, *locale_dirp;
struct dirent *dp;
char* locale;
char locale_path[MAXPATHLEN];
struct stat locale_stat;
int retval;
/*
* To determin the fully installed locale list, check several locations.
*/
if((nls_dirp = opendir(dirname)) != NULL)
{
while((dp = readdir(nls_dirp)) != NULL)
{
int is_locale = 0;
locale = dp->d_name;
/*
* A locale is indicated by a directory which has one or more
* of the following subdirectories:
* LC_COLLATE
* LC_CTYPE
* LC_MESSAGES
* LC_MONETARY
* LC_NUMERIC
* LC_TIME
*/
(void) sprintf(locale_path, "%s/%s", dirname, locale);
retval = stat(locale_path, &locale_stat);
if ( (0 != retval) || (! S_ISDIR(locale_stat.st_mode)) )
continue;
if (NULL == (locale_dirp = opendir(locale_path)) )
continue;
is_locale = FALSE;
while (NULL != (dp = readdir(locale_dirp)) &&
FALSE == is_locale)
{
if ((0 == strcmp(dp->d_name, LC_COLLATE)) ||
(0 == strcmp(dp->d_name, LC_CTYPE)) ||
(0 == strcmp(dp->d_name, LC_MESSAGES)) ||
(0 == strcmp(dp->d_name, LC_MONETARY)) ||
(0 == strcmp(dp->d_name, LC_NUMERIC)) ||
(0 == strcmp(dp->d_name, LC_TIME)) )
is_locale = 1;
}
closedir(locale_dirp);
if (is_locale &&
LANGLISTSIZE > (int) (strlen(languageList)+strlen(locale)+2) )
{
strcat(languageList, " ");
strcat(languageList, locale);
}
}
closedir(nls_dirp);
}
}
#else /* !_AIX && !hpV4 && !__osf__ !sun && !USL */
#else /* !_AIX && !hpV4 && !__osf__ !sun */
/*
* Scan for installed locales on generic platform
*/

View File

@@ -67,8 +67,7 @@
** __apollo Domain OS only
** __hp_osf HP OSF/1 OS only
** sun SUN OS only
** USL USL OS only
** SVR4 SUN OS and USL
** SVR4 SUN OS et al.
** _AIX AIX only
**
****************************************************************************