]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/string.c
Fix large SASL reads. Use EAGAIN instead of EWOULDBLOCK (was right the
[openldap] / libraries / libldap / string.c
index ee275baec66cee7c47a0806484fb8e1ebde1e1ec..dbedf5741f09900f5dae6798c571d12cabdb1a58 100644 (file)
@@ -112,6 +112,26 @@ ldap_pvt_str2upper( char *str )
        return( str );
 }
 
+struct berval *
+ldap_pvt_str2upperbv( char *str, struct berval *bv )
+{
+       char    *s = NULL;
+
+       assert( bv );
+
+       /* to upper */
+       if ( str ) {
+               for ( s = str; *s; s++ ) {
+                       *s = TOUPPER( (unsigned char) *s );
+               }
+       }
+
+       bv->bv_val = str;
+       bv->bv_len = (ber_len_t)(s - str);
+       
+       return( bv );
+}
+
 char *
 ldap_pvt_str2lower( char *str )
 {
@@ -126,3 +146,23 @@ ldap_pvt_str2lower( char *str )
 
        return( str );
 }
+
+struct berval *
+ldap_pvt_str2lowerbv( char *str, struct berval *bv )
+{
+       char    *s = NULL;
+
+       assert( bv );
+
+       /* to lower */
+       if ( str ) {
+               for ( s = str; *s; s++ ) {
+                       *s = TOLOWER( (unsigned char) *s );
+               }
+       }
+
+       bv->bv_val = str;
+       bv->bv_len = (ber_len_t)(s - str);
+
+       return( bv );
+}