From 922a72766caa4a833f5775b17e4729ae5f79260d Mon Sep 17 00:00:00 2001 From: athenian200 Date: Wed, 29 Jul 2020 18:52:42 -0500 Subject: Issue #1615 - SunOS LDAP cleanup. I meant to do this a long time ago, but basically it accounts for the new XP_SOLARIS build flag that never made it into the MailNews code. Additionally, it enables a compatibility flag for Solaris 11.4 that allows us to use the three-argument implementation of ctime_r still used by Solaris 11.3 and illumos (which also appears equivalent to the NSLDAPI_CTIME implementation used by libldap internally). Also, the ctime_r function has been added to the time.h header library for a while now, not sure why Mozilla thought we didn't have a ctime_r implementation. --- ldap/c-sdk/common.mozbuild | 2 ++ ldap/c-sdk/include/portable.h | 4 ++-- ldap/c-sdk/libldap/tmplout.c | 7 +------ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/ldap/c-sdk/common.mozbuild b/ldap/c-sdk/common.mozbuild index 4377982c5a..e335f230a0 100644 --- a/ldap/c-sdk/common.mozbuild +++ b/ldap/c-sdk/common.mozbuild @@ -17,6 +17,8 @@ elif CONFIG['OS_TARGET'] in ('OpenBSD', 'FreeBSD', 'NetBSD'): DEFINES[CONFIG['OS_TARGET'].upper()] = True elif CONFIG['OS_ARCH'] == 'WINNT': DEFINES['_WINDOWS'] = True +elif CONFIG['OS_ARCH'] == 'SunOS': + DEFINES['__USE_DRAFT6_PROTOTYPES__'] = True DEFINES['_PR_PTHREADS'] = True DEFINES['NET_SSL'] = True diff --git a/ldap/c-sdk/include/portable.h b/ldap/c-sdk/include/portable.h index 52698867f6..d61d8535f2 100644 --- a/ldap/c-sdk/include/portable.h +++ b/ldap/c-sdk/include/portable.h @@ -59,7 +59,7 @@ */ #ifndef SYSV -#if defined( hpux ) || defined( SOLARIS ) || defined ( sgi ) || defined( SVR4 ) +#if defined( hpux ) || defined(XP_SOLARIS) || defined ( sgi ) || defined( SVR4 ) #define SYSV #endif #endif @@ -191,7 +191,7 @@ */ #if !defined(NSLDAPI_CONNECT_MUST_NOT_BE_INTERRUPTED) && \ ( defined(AIX) || defined(IRIX) || defined(HPUX) || defined(SUNOS4) \ - || defined(SOLARIS) || defined(OSF1) ||defined(freebsd)) + || defined(XP_SOLARIS) || defined(OSF1) ||defined(freebsd)) #define NSLDAPI_CONNECT_MUST_NOT_BE_INTERRUPTED #endif diff --git a/ldap/c-sdk/libldap/tmplout.c b/ldap/c-sdk/libldap/tmplout.c index 0dded6b4c5..fae0b94d51 100644 --- a/ldap/c-sdk/libldap/tmplout.c +++ b/ldap/c-sdk/libldap/tmplout.c @@ -43,16 +43,11 @@ #include "ldap-int.h" #include "disptmpl.h" -#if defined(_WINDOWS) || defined(aix) || defined(SCOOS) || defined(OSF1) || defined(SOLARIS) +#if defined(_WINDOWS) || defined(aix) || defined(SCOOS) || defined(OSF1) || defined(XP_SOLARIS) #include /* for struct tm and ctime */ #endif -/* This is totally lame, since it should be coming from time.h, but isn't. */ -#if defined(SOLARIS) -char *ctime_r(const time_t *, char *, int); -#endif - static int do_entry2text( LDAP *ld, char *buf, char *base, LDAPMessage *entry, struct ldap_disptmpl *tmpl, char **defattrs, char ***defvals, writeptype writeproc, void *writeparm, char *eol, int rdncount, -- cgit v1.2.3