[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: modify.c problem : unresolved snprintf (ITS#1223)



Hi Jeronimo:

  I ran into same problem sometime back. Solaris
  SunOS 5.5.1  does not support snprintf. you need
   either upgrade to solaris 2.7 (SunOS 5.7) or need
   to implement snprintf.

  Thanks,

  Ram


-----Original Message-----
From: jeronimo@holhouse.nl <jeronimo@holhouse.nl>
To: openldap-its@OpenLDAP.org <openldap-its@OpenLDAP.org>
Date: Monday, July 09, 2001 8:02 PM
Subject: RE: modify.c problem : unresolved snprintf (ITS#1223)


>Hello Kurt,
>
>I have SunOS 5.5.1 and using gcc2.95.2.
>All libs are set.
>
>Jeronimo
>
>
>-----Original Message-----
>From: Kurt D. Zeilenga [SMTP:Kurt@OpenLDAP.org]
>Sent: Saturday, July 07, 2001 5:15 AM
>To: jeronimo@holhouse.nl
>Cc: openldap-its@OpenLDAP.org
>Subject: Re: modify.c problem : unresolved snprintf  (ITS#1223)
>
>Solaris should contain snprintf in the Standard C library (-lc).
>Which version of Solaris are you using?  Which compiler?
>Which C libraries?
>
>Kurt
>
>At 08:24 AM 7/5/2001, jeronimo@holhouse.nl wrote:
>>Full_Name: Jeronimo de Bastos
>>Version: 2.0.11
>>OS: Solaris
>>URL: ftp://ftp.openldap.org/incoming/
>>Submission from: (NULL) (193.78.7.5)
>>
>>
>>Hello,
>>
>>I encounter an unresolved symbol when building in file modify.c:
>>symbol is snprintf()
>>
>>When I looked at daemon.c I see an #ifdef around the code for snprintf.
>>
>>So I did the same at modify.c and that did it.
>>
>>Here is the patch:--- modify.old  Thu Jul  5 16:58:20 2001
>>+++ modify.c    Tue Jun 26 16:09:04 2001
>>@@ -308,7 +308,9 @@
>>
>>                if( rc != LDAP_SUCCESS ) {
>>                        slap_mods_free( mod );
>>+#ifdef HAVE_GETADDRINFO
>>                        snprintf( textbuf, textlen, "%s: %s", ml->ml_type,
text
>>);
>>+#endif
>>                        *text = textbuf;
>>                        return rc;
>>                }
>>@@ -321,9 +323,11 @@
>>                        /* attribute requires binary transfer */
>>                        slap_mods_free( mod );
>>
>>+#ifdef HAVE_GETADDRINFO
>>                        snprintf( textbuf, textlen,
>>                                "%s: requires ;binary transfer",
>>                                ml->ml_type );
>>+#endif
>>                        *text = textbuf;
>>                        return LDAP_UNDEFINED_TYPE;
>>                }
>>@@ -333,9 +337,11 @@
>>                {
>>                        /* attribute requires binary transfer */
>>                        slap_mods_free( mod );
>>+#ifdef HAVE_GETADDRINFO
>>                        snprintf( textbuf, textlen,
>>                                "%s: disallows ;binary transfer",
>>                                ml->ml_type );
>>+#endif
>>                        *text = textbuf;
>>                        return LDAP_UNDEFINED_TYPE;
>>                }
>>@@ -343,9 +349,11 @@
>>                if (!update && is_at_no_user_mod( ad->ad_type )) {
>>                        /* user modification disallowed */
>>                        slap_mods_free( mod );
>>+#ifdef HAVE_GETADDRINFO
>>                        snprintf( textbuf, textlen,
>>                                "%s: no user modification allowed",
>>                                ml->ml_type );
>>+#endif
>>                        *text = textbuf;
>>                        return LDAP_CONSTRAINT_VIOLATION;
>>                }
>>@@ -358,9 +366,11 @@
>>                         * only allow replace/delete with no values
>>                         */
>>                        slap_mods_free( mod );
>>+#ifdef HAVE_GETADDRINFO
>>                        snprintf( textbuf, textlen,
>>                                "%s: attribute is obsolete",
>>                                ml->ml_type );
>>+#endif
>>                        *text = textbuf;
>>                        return LDAP_CONSTRAINT_VIOLATION;
>>                }
>>@@ -376,10 +386,12 @@
>>                        if( !validate ) {
>>                                slap_mods_free( mod );
>>                                *text = "no validator for syntax";
>>+#ifdef HAVE_GETADDRINFO
>>                                snprintf( textbuf, textlen,
>>                                        "%s: no validator for syntax %s",
>>                                        ml->ml_type,
>>
                                       ad->ad_type->sat_syntax->ssyn_oid );
>>+#endif
>>                                *text = textbuf;
>>                                return LDAP_INVALID_SYNTAX;
>>                        }
>>@@ -392,9 +404,11 @@
>>
>>                                if( rc != 0 ) {
>>                                        slap_mods_free( mod );
>>+#ifdef HAVE_GETADDRINFO
>>                                        snprintf( textbuf, textlen,
>>                                                "%s: value #%ld contains
invalid
>>data",
>>                                                ml->ml_type, (long)
nvals );
>>+#endif
>>                                        *text = textbuf;
>>                                        return LDAP_INVALID_SYNTAX;
>>                                }
>>@@ -408,9 +422,11 @@
>>                                && nvals > 1 &&
s_at_single_value( ad->ad_type
>>))
>>                        {
>>                                slap_mods_free( mod );
>>+#ifdef HAVE_GETADDRINFO
>>                                snprintf( textbuf, textlen,
>>                                        "%s: multiple value provided",
>>                                        ml->ml_type );
>>+#endif
>>                                *text = textbuf;
>>                                return LDAP_INVALID_SYNTAX;
>>                        }
>
>
>