diff --git a/clients/ud/find.c b/clients/ud/find.c
index 2d42ae77686b1322c0678dbe1aa6048b5f09798b..f247fcc5bfc002dd7e6764e73b01328f34bf6bc3 100644
--- a/clients/ud/find.c
+++ b/clients/ud/find.c
@@ -96,7 +96,7 @@ disambiguate( LDAPMessage *result, int matches, char **read_attrs, char *who )
 	for (;;) {
 		printf("  Do you wish to see a list of names? ");
 		fflush(stdout);
-		(void) memset(response, 0, sizeof(response));
+		(void) memset(response, '\0', sizeof(response));
 		fetch_buffer(response, sizeof(response), stdin);
 		switch (response[0]) {
 		case 'n' :
diff --git a/clients/ud/mod.c b/clients/ud/mod.c
index 826f3db52391d4deae6177a586a105991ce746c2..1a13a967f2e82df614fbf0fb2e06c0ec9444c57e 100644
--- a/clients/ud/mod.c
+++ b/clients/ud/mod.c
@@ -397,7 +397,7 @@ get_value( char *id, char *prompt )
 	 *  Other attributes may not.
 	 */
 	count = 1;
-	(void) memset(buffer, 0, sizeof(buffer));
+	(void) memset(buffer, '\0', sizeof(buffer));
 #ifdef UOFM
 	if (!strcmp(id, "postalAddress") || !strcmp(id, "homePostalAddress") || !strcmp(id, "multiLineDescription") || !strcmp(id, "vacationMessage")) 
 #else
diff --git a/clients/ud/print.c b/clients/ud/print.c
index e5e5e96e1617b9098200917ff98d48c1685c8a62..914b3e3d1be204eb6281011bc5265b93a57a8627 100644
--- a/clients/ud/print.c
+++ b/clients/ud/print.c
@@ -575,7 +575,7 @@ time2text( char *ldtimestr, int dateonly )
 	    return( fmterr );
 	}
 	
-    memset( (char *)&t, 0, sizeof( struct tm ));
+    memset( (char *)&t, '\0', sizeof( struct tm ));
 
     p = ldtimestr;
 
diff --git a/clients/ud/string_to_key.c b/clients/ud/string_to_key.c
index 0fc51a22436e9659c27a490c8cfe055a3bc86d92..120cde80cfddbb7a7377af594b3e8d4d6c71cbce 100644
--- a/clients/ud/string_to_key.c
+++ b/clients/ud/string_to_key.c
@@ -67,7 +67,7 @@ des_string_to_key( char *str, register des_cblock *key )
     length = strlen(str);
 
     /* init key array for bits */
-    memset(k_char, 0, sizeof(k_char));
+    memset(k_char, '\0', sizeof(k_char));
 
 #ifdef USE_DES_DEBUG
     if (des_debug)
@@ -116,7 +116,7 @@ des_string_to_key( char *str, register des_cblock *key )
     (void) des_key_sched(key,key_sked);
     (void) des_cbc_cksum((des_cblock *)in_str,key,length,key_sked,key);
     /* erase key_sked */
-    memset((char *)key_sked, 0, sizeof(key_sked));
+    memset((char *)key_sked, '\0', sizeof(key_sked));
 
     /* now fix up key parity again */
     des_fixup_key_parity(key);
@@ -160,8 +160,8 @@ Andrew_StringToKey(
     int   i;
     int   passlen;
 
-    memset(key, 0, sizeof(des_cblock));
-    memset(password, 0, sizeof(password));
+    memset(key, '\0', sizeof(des_cblock));
+    memset(password, '\0', sizeof(password));
 
     strncpy (password, cell, 8);
     passlen = strlen (str);
diff --git a/libraries/liblber/bprint.c b/libraries/liblber/bprint.c
index ec2949eb71fb06026311384606c9fb9662662a75..2d3fd7f6e94f75bb53e3a24f6f37e29361cddb25 100644
--- a/libraries/liblber/bprint.c
+++ b/libraries/liblber/bprint.c
@@ -43,7 +43,7 @@ int * ber_errno_addr(void)
  * Print stuff
  */
 static void
-ber_error_print( char *data )
+ber_error_print( const char *data )
 {
 	assert( data != NULL );
 
@@ -147,7 +147,7 @@ ber_bprint(
 
 	assert( data != NULL );
 
-    memset( out, 0, BPLEN );
+    memset( out, '\0', BPLEN );
     for ( ;; ) {
 	if ( len < 1 ) {
 	    sprintf( buf, "\t%s\n", ( i == 0 ) ? "(end)" : out );
@@ -174,7 +174,7 @@ ber_bprint(
 		char data[128 + BPLEN];
 	    sprintf( data, "\t%s\n", out );
 		(*ber_pvt_log_print)(data);
-	    memset( out, 0, BPLEN );
+	    memset( out, '\0', BPLEN );
 	    i = 0;
 	    continue;
 	}
diff --git a/libraries/liblber/sockbuf.c b/libraries/liblber/sockbuf.c
index c648ebb96744346974b9b0b121212ffe0867940f..e3ddbcd44a8833bcb0db1c830ef52797629e5fdf 100644
--- a/libraries/liblber/sockbuf.c
+++ b/libraries/liblber/sockbuf.c
@@ -145,7 +145,7 @@ ber_sockbuf_add_io( Sockbuf *sb, Sockbuf_IO *sbio, int layer, void *arg )
 	d->sbiod_level = layer;
 	d->sbiod_sb = sb;
 	d->sbiod_io = sbio;
-	memset( &d->sbiod_pvt, 0, sizeof( d->sbiod_pvt ) );
+	memset( &d->sbiod_pvt, '\0', sizeof( d->sbiod_pvt ) );
 	d->sbiod_next = p;
 	*q = d;
       
@@ -561,7 +561,7 @@ sb_dgram_setup( Sockbuf_IO_Desc *sbiod, void *arg )
 	p = LBER_MALLOC( sizeof( *p ) );
 	if ( p == NULL )
      return -1;
-	memset( p, 0, sizeof( *p ) );
+	memset( p, '\0', sizeof( *p ) );
 	sbiod->sbiod_pvt = (void *)p;
 	if ( arg != NULL )
 		sbiod->sbiod_sb->sb_fd = *((int *)arg);
diff --git a/libraries/libldap/cache.c b/libraries/libldap/cache.c
index af2f583f77c653e3ad97d42abe9c2cfe8f010427..93e0e3108389ce400bafe7efcfb8c457ba4e12a1 100644
--- a/libraries/libldap/cache.c
+++ b/libraries/libldap/cache.c
@@ -44,7 +44,7 @@ ldap_enable_cache( LDAP *ld, long timeout, ber_len_t maxmem )
 			ld->ld_errno = LDAP_NO_MEMORY;
 			return( -1 );
 		}
-		(void) memset( ld->ld_cache, 0, sizeof( LDAPCache ));
+		(void) memset( ld->ld_cache, '\0', sizeof( LDAPCache ));
 		ld->ld_cache->lc_memused = sizeof( LDAPCache );
 	}
 
diff --git a/libraries/libldap/cldap.c b/libraries/libldap/cldap.c
index 9a4eac20ff5e32927480ed186b98239c0bb32f30..50839df1fa848831157e0b505c201c0eefe4db57 100644
--- a/libraries/libldap/cldap.c
+++ b/libraries/libldap/cldap.c
@@ -227,7 +227,7 @@ cldap_search_s( LDAP *ld,
 
     *res = NULL;
 
-    (void) memset( &cri, 0, sizeof( cri ));
+    (void) memset( &cri, '\0', sizeof( cri ));
 
     if ( logdn != NULL ) {
 	ld->ld_cldapdn = logdn;
diff --git a/libraries/libldap/os-ip.c b/libraries/libldap/os-ip.c
index e300711817129e7e17a89f492271d13e17c53c8f..c1c75e894ba527b0b879eb2917330abf92fa9a3e 100644
--- a/libraries/libldap/os-ip.c
+++ b/libraries/libldap/os-ip.c
@@ -324,7 +324,7 @@ ldap_connect_to_host(LDAP *ld, Sockbuf *sb, const char *host,
 			break;
 		}
 
-		(void)memset((char *)&sin, 0, sizeof(struct sockaddr_in));
+		(void)memset((char *)&sin, '\0', sizeof(struct sockaddr_in));
 		sin.sin_family = AF_INET;
 		sin.sin_port = port;
 		p = (char *)&sin.sin_addr;
@@ -365,7 +365,7 @@ ldap_host_connected_to( Sockbuf *sb )
 	ber_socket_t		sd;
 #define DO_RETURN(x) if (ha_buf) LDAP_FREE(ha_buf); return (x);
    
-	(void)memset( (char *)&sin, 0, sizeof( struct sockaddr_in ));
+	(void)memset( (char *)&sin, '\0', sizeof( struct sockaddr_in ));
 	len = sizeof( sin );
 
 	ber_sockbuf_ctrl( sb, LBER_SB_OPT_GET_FD, &sd );
diff --git a/libraries/libldap/os-local.c b/libraries/libldap/os-local.c
index df4196266f97ab475dc435d259a8219b7e5abdce..6d45b2589a111fba9fb82edd9fff1e1e26482c76 100644
--- a/libraries/libldap/os-local.c
+++ b/libraries/libldap/os-local.c
@@ -201,7 +201,7 @@ ldap_connect_to_path(LDAP *ld, Sockbuf *sb, const char *path, int async)
 
 	oslocal_debug(ld, "ldap_connect_to_path: Trying %s\n", path, 0, 0);
 
-	memset( &server, 0, sizeof(server) );
+	memset( &server, '\0', sizeof(server) );
 	server.sun_family = AF_UNIX;
 	strcpy( server.sun_path, path );
 
diff --git a/libraries/libldap/sasl.c b/libraries/libldap/sasl.c
index de430695f908e92fe3973d160a8e58f43e09d39f..1243454d76a92aaff48ebfa9714afb133f48c465 100644
--- a/libraries/libldap/sasl.c
+++ b/libraries/libldap/sasl.c
@@ -835,7 +835,7 @@ ldap_pvt_sasl_bind(
 	}
 	sasl_setprop( ld->ld_sasl_context, SASL_IP_LOCAL, &sin );
 
-	memset( &secprops, 0, sizeof( secprops ) );
+	memset( &secprops, '\0', sizeof( secprops ) );
 	secprops.min_ssf = ld->ld_options.ldo_sasl_minssf;
 	secprops.max_ssf = ld->ld_options.ldo_sasl_maxssf;
 	secprops.security_flags = SASL_SECURITY_LAYER;
diff --git a/libraries/libldap/tmplout.c b/libraries/libldap/tmplout.c
index e6707cfae95ef4c6d138da03666c7a5c8c7b196f..385312256f94e7663d9f9e235b8e9702573ea383 100644
--- a/libraries/libldap/tmplout.c
+++ b/libraries/libldap/tmplout.c
@@ -901,7 +901,7 @@ time2text( char *ldtimestr, int dateonly )
 	    return( fmterr );
 	}
 	
-    memset( (char *)&t, 0, sizeof( struct tm ));
+    memset( (char *)&t, '\0', sizeof( struct tm ));
 
     p = ldtimestr;
 
diff --git a/libraries/libldap_r/rdwr.c b/libraries/libldap_r/rdwr.c
index e97fe7143ca6060c37c0ecf7a685a89d95712bb1..5e04a43a62ff43cb91a68c3127769ea2807555f2 100644
--- a/libraries/libldap_r/rdwr.c
+++ b/libraries/libldap_r/rdwr.c
@@ -34,7 +34,7 @@ ldap_pvt_thread_rdwr_init( ldap_pvt_thread_rdwr_t *rw )
 {
 	assert( rw != NULL );
 
-	memset( rw, 0, sizeof(ldap_pvt_thread_rdwr_t) );
+	memset( rw, '\0', sizeof(ldap_pvt_thread_rdwr_t) );
 
 	/* we should check return results */
 	ldap_pvt_thread_mutex_init( &rw->ltrw_mutex );
diff --git a/libraries/libldbm/ldbm.c b/libraries/libldbm/ldbm.c
index 6555caf5100020aa5234cddf335c44a3fa2b436c..2560fd8727f568c7a80ecd9291043b89c40f386c 100644
--- a/libraries/libldbm/ldbm.c
+++ b/libraries/libldbm/ldbm.c
@@ -30,7 +30,7 @@ ldbm_datum_free( LDBM ldbm, Datum data )
 {
 	if ( data.dptr ) {
 		free( data.dptr );
-		memset( &data, 0, sizeof( Datum ));
+		memset( &data, '\0', sizeof( Datum ));
 		data.dptr = NULL;
 	}
 }
@@ -263,7 +263,7 @@ ldbm_open( char *name, int rw, int mode, int dbcachesize )
 #elif DB_VERSION_MAJOR >= 2
 	DB_INFO dbinfo;
 
-	memset( &dbinfo, 0, sizeof( dbinfo ));
+	memset( &dbinfo, '\0', sizeof( dbinfo ));
 
 #if defined( DB_VERSION_MAJOR ) && defined( DB_VERSION_MINOR ) && \
     DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR == 4
diff --git a/libraries/liblunicode/ucdata/ucgendat.c b/libraries/liblunicode/ucdata/ucgendat.c
index 06ebc5da959d1b7ffe64093cd1cd68e3c499d902..836a2ef69fa7b62811b47723adacdc57c631370c 100644
--- a/libraries/liblunicode/ucdata/ucgendat.c
+++ b/libraries/liblunicode/ucdata/ucgendat.c
@@ -436,7 +436,7 @@ add_decomp(unsigned long code)
           decomps = (_decomp_t *)
               realloc((char *) decomps,
                       sizeof(_decomp_t) * (decomps_size + 8));
-        (void) memset((char *) (decomps + decomps_size), 0,
+        (void) memset((char *) (decomps + decomps_size), '\0',
                       sizeof(_decomp_t) << 3);
         decomps_size += 8;
     }
diff --git a/libraries/liblunicode/ure/ure.c b/libraries/liblunicode/ure/ure.c
index aa1bf2feac8acc7fb424bc22da42f15768827f9e..51821f97f11fa41163a54027d3ac392ee7c5f954 100644
--- a/libraries/liblunicode/ure/ure.c
+++ b/libraries/liblunicode/ure/ure.c
@@ -1077,7 +1077,7 @@ _ure_make_symbol(ucs2_t *sym, unsigned long limit, unsigned long *consumed,
      * Build the next symbol so we can test to see if it is already in the
      * symbol table.
      */
-    (void) memset((char *) &symbol, 0, sizeof(_ure_symtab_t));
+    (void) memset((char *) &symbol, '\0', sizeof(_ure_symtab_t));
     *consumed = _ure_compile_symbol(sym, limit, &symbol, b);
 
     /*
@@ -1108,7 +1108,7 @@ _ure_make_symbol(ucs2_t *sym, unsigned long limit, unsigned long *consumed,
               realloc((char *) b->symtab,
                       sizeof(_ure_symtab_t) * (b->symtab_size + 8));
         sp = b->symtab + b->symtab_size;
-        (void) memset((char *) sp, 0, sizeof(_ure_symtab_t) << 3);
+        (void) memset((char *) sp, '\0', sizeof(_ure_symtab_t) << 3);
         b->symtab_size += 8;
     }
 
@@ -1329,7 +1329,7 @@ _ure_add_state(ucs2_t nstates, ucs2_t *states, _ure_buffer_t *b)
                   realloc((char *) b->states.states,
                           sizeof(_ure_state_t) * (b->states.states_size + 8));
             sp = b->states.states + b->states.states_size;
-            (void) memset((char *) sp, 0, sizeof(_ure_state_t) << 3);
+            (void) memset((char *) sp, '\0', sizeof(_ure_state_t) << 3);
             b->states.states_size += 8;
         }
 
@@ -1734,7 +1734,7 @@ ure_compile(ucs2_t *re, unsigned long relen, int casefold, ure_buffer_t buf)
      * Construct the minimal DFA.
      */
     dfa = (ure_dfa_t) malloc(sizeof(_ure_dfa_t));
-    (void) memset((char *) dfa, 0, sizeof(_ure_dfa_t));
+    (void) memset((char *) dfa, '\0', sizeof(_ure_dfa_t));
 
     dfa->flags = buf->flags & (_URE_DFA_CASEFOLD|_URE_DFA_BLANKLINE);
 
diff --git a/libraries/liblunicode/utbm/utbm.c b/libraries/liblunicode/utbm/utbm.c
index 863f2c5c6ae8e89c57f97682f27148aa1417cb1d..a3e312cc12aa35ea5d03864f60c525a51f7221f7 100644
--- a/libraries/liblunicode/utbm/utbm.c
+++ b/libraries/liblunicode/utbm/utbm.c
@@ -223,7 +223,7 @@ utbm_create_pattern(void)
     utbm_pattern_t p;
 
     p = (utbm_pattern_t) malloc(sizeof(_utbm_pattern_t));
-    (void) memset((char *) p, 0, sizeof(_utbm_pattern_t));
+    (void) memset((char *) p, '\0', sizeof(_utbm_pattern_t));
     return p;
 }
 
diff --git a/libraries/liblutil/lockf.c b/libraries/liblutil/lockf.c
index 69c4009086854805492de33379945efd28969319..7ba5c0ea50189328ee56a4096ed7bb0d39113087 100644
--- a/libraries/liblutil/lockf.c
+++ b/libraries/liblutil/lockf.c
@@ -79,7 +79,7 @@ int lutil_unlockf ( int fd ) {
 int lutil_lockf ( int fd ) {
 	struct flock file_lock;
 
-	memset( &file_lock, 0, sizeof( file_lock ) );
+	memset( &file_lock, '\0', sizeof( file_lock ) );
 	file_lock.l_type = F_WRLCK;
 	file_lock.l_whence = SEEK_SET;
 	file_lock.l_start = 0;
@@ -92,7 +92,7 @@ int lutil_lockf ( int fd ) {
 int lutil_unlockf ( int fd ) {
 	struct flock file_lock;
 
-	memset( &file_lock, 0, sizeof( file_lock ) );
+	memset( &file_lock, '\0', sizeof( file_lock ) );
 	file_lock.l_type = F_UNLCK;
 	file_lock.l_whence = SEEK_SET;
 	file_lock.l_start = 0;
diff --git a/libraries/liblutil/md5.c b/libraries/liblutil/md5.c
index 486fbe25946bf9f89f2faddd2f164d48cae5a997..9ce509f8ffe13ab86436b802423dbd58d2bb4500 100644
--- a/libraries/liblutil/md5.c
+++ b/libraries/liblutil/md5.c
@@ -157,14 +157,14 @@ lutil_MD5Final( unsigned char *digest, struct lutil_MD5Context *ctx )
 	/* Pad out to 56 mod 64 */
 	if (count < 8) {
 		/* Two lots of padding:  Pad the first block to 64 bytes */
-		memset(p, 0, count);
+		memset(p, '\0', count);
 		lutil_MD5Transform(ctx->buf, ctx->in);
 
 		/* Now fill the next block with 56 bytes */
-		memset(ctx->in, 0, 56);
+		memset(ctx->in, '\0', 56);
 	} else {
 		/* Pad block to 56 bytes */
-		memset(p, 0, count-8);
+		memset(p, '\0', count-8);
 	}
 
 	/* Append length in bits and transform */
@@ -176,7 +176,7 @@ lutil_MD5Final( unsigned char *digest, struct lutil_MD5Context *ctx )
 	putu32(ctx->buf[1], digest + 4);
 	putu32(ctx->buf[2], digest + 8);
 	putu32(ctx->buf[3], digest + 12);
-	memset(ctx, 0, sizeof(ctx));	/* In case it's sensitive */
+	memset(ctx, '\0', sizeof(ctx));	/* In case it's sensitive */
 }
 
 #ifndef ASM_MD5
diff --git a/libraries/liblutil/sockpair.c b/libraries/liblutil/sockpair.c
index 22cd9887db83d727d76af71d1f43ab69e3efb86d..648009d315f7eb24c6a882d135b6ca2fdf067334 100644
--- a/libraries/liblutil/sockpair.c
+++ b/libraries/liblutil/sockpair.c
@@ -33,7 +33,7 @@ int lutil_pair( LBER_SOCKET_T sds[2] )
 	if ( sd == AC_SOCKET_INVALID )
 		return sd;
 	
-	(void) memset( (void*) &si, 0, len );
+	(void) memset( (void*) &si, '\0', len );
 	si.sin_family = AF_INET;
 	si.sin_port = 0;
 	si.sin_addr.s_addr = htonl( INADDR_LOOPBACK );
diff --git a/servers/slapd/acl.c b/servers/slapd/acl.c
index 771fa341a41d5f1bb527fc6b7e8e2171e6d0f26c..c9b4d41df3216f1d380c1442c61138227887ab34 100644
--- a/servers/slapd/acl.c
+++ b/servers/slapd/acl.c
@@ -141,7 +141,7 @@ access_allowed(
 	}
 
 	ACL_INIT(mask);
-	memset(matches, 0, sizeof(matches));
+	memset(matches, '\0', sizeof(matches));
 	
 	control = ACL_BREAK;
 	a = NULL;
@@ -171,7 +171,7 @@ access_allowed(
 			break;
 		}
 
-		memset(matches, 0, sizeof(matches));
+		memset(matches, '\0', sizeof(matches));
 	}
 
 	if ( ACL_IS_INVALID( mask ) ) {
diff --git a/servers/slapd/back-dnssrv/init.c b/servers/slapd/back-dnssrv/init.c
index 7e7679f8cdcb4af60270d80952fcca3c90d77e59..9a77eff1ddb26bbdc480a488eb92f5630e9de0d4 100644
--- a/servers/slapd/back-dnssrv/init.c
+++ b/servers/slapd/back-dnssrv/init.c
@@ -19,7 +19,7 @@
 int back_dnssrv_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "dnssrv";
     bi.bi_init = dnssrv_back_initialize;
 
diff --git a/servers/slapd/back-ldap/init.c b/servers/slapd/back-ldap/init.c
index 7144c9331eff3775ad989c4212884bcef01d1872..98d9191ec31b8ea740f50081d0f94a1cfd5e712b 100644
--- a/servers/slapd/back-ldap/init.c
+++ b/servers/slapd/back-ldap/init.c
@@ -36,7 +36,7 @@
 int back_ldap_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "ldap";
     bi.bi_init = ldap_back_initialize;
 
diff --git a/servers/slapd/back-ldbm/back-ldbm.h b/servers/slapd/back-ldbm/back-ldbm.h
index 911140d003fe90fac7aeaab3075fafac8ddc3fe8..6ea8e8c3a1ee1f73705870115e38b205adca4ed3 100644
--- a/servers/slapd/back-ldbm/back-ldbm.h
+++ b/servers/slapd/back-ldbm/back-ldbm.h
@@ -23,8 +23,6 @@ LDAP_BEGIN_DECL
 #define DEFAULT_DB_DIRECTORY	LDAP_RUNDIR LDAP_DIRSEP "openldap-ldbm"
 #define DEFAULT_MODE		0600
 
-#define SUBLEN			3
-
 #define DN_BASE_PREFIX		SLAP_INDEX_EQUALITY_PREFIX
 #define DN_ONE_PREFIX	 	'%'
 #define DN_SUBTREE_PREFIX 	'@'
diff --git a/servers/slapd/back-ldbm/cache.c b/servers/slapd/back-ldbm/cache.c
index 819e2a813065f07fc37ff7e4aa1c21e928b41b62..c1ad17102017dafd92da45b292a15c5d6ec41020 100644
--- a/servers/slapd/back-ldbm/cache.c
+++ b/servers/slapd/back-ldbm/cache.c
@@ -36,6 +36,7 @@ typedef struct ldbm_entry_info {
 	Entry	*lei_lrunext;	/* for cache lru list */
 	Entry	*lei_lruprev;
 } EntryInfo;
+#undef LEI
 #define LEI(e)	((EntryInfo *) ((e)->e_private))
 
 static int	cache_delete_entry_internal(Cache *cache, Entry *e);
diff --git a/servers/slapd/back-ldbm/idl.c b/servers/slapd/back-ldbm/idl.c
index dc37bf57b9bf3a28c61f629b173b86bd0d3d50be..7d18956361435b776a8467c62ff17ab0284e9684 100644
--- a/servers/slapd/back-ldbm/idl.c
+++ b/servers/slapd/back-ldbm/idl.c
@@ -173,7 +173,7 @@ idl_fetch(
 
 		if ( (tmp[i] = idl_fetch_one( be, db, data )) == NULL ) {
 			Debug( LDAP_DEBUG_ANY,
-			    "idl_fetch of (%s) returns NULL\n", data.dptr, 0, 0 );
+			    "idl_fetch: one returned NULL\n", 0, 0, 0 );
 			continue;
 		}
 
@@ -313,8 +313,8 @@ idl_change_first(
 	/* delete old key block */
 	if ( (rc = ldbm_cache_delete( db, bkey )) != 0 ) {
 		Debug( LDAP_DEBUG_ANY,
-		    "ldbm_delete of (%s) returns %d\n", bkey.dptr, rc,
-		    0 );
+		    "idl_change_first: ldbm_cache_delete returned %d\n",
+			rc, 0, 0 );
 		return( rc );
 	}
 
@@ -323,7 +323,7 @@ idl_change_first(
 
 	if ( (rc = idl_store( be, db, bkey, b )) != 0 ) {
 		Debug( LDAP_DEBUG_ANY,
-		    "idl_store of (%s) returns %d\n", bkey.dptr, rc, 0 );
+		    "idl_change_first: idl_store returned %d\n", rc, 0, 0 );
 		return( rc );
 	}
 
@@ -331,7 +331,7 @@ idl_change_first(
 	ID_BLOCK_ID(h, pos) = ID_BLOCK_ID(b, 0);
 	if ( (rc = idl_store( be, db, hkey, h )) != 0 ) {
 		Debug( LDAP_DEBUG_ANY,
-		    "idl_store of (%s) returns %d\n", hkey.dptr, rc, 0 );
+		    "idl_change_first: idl_store returned %d\n", rc, 0, 0 );
 		return( rc );
 	}
 
@@ -352,11 +352,6 @@ idl_insert_key(
 	Datum	k2;
 
 	if ( (idl = idl_fetch_one( be, db, key )) == NULL ) {
-#ifdef LDBM_DEBUG
-		Statslog( LDAP_DEBUG_STATS, "=> idl_insert_key(): no key yet\n",
-			0, 0, 0, 0, 0 );
-#endif
-
 		idl = idl_alloc( 1 );
 		ID_BLOCK_ID(idl, ID_BLOCK_NIDS(idl)++) = id;
 		rc = idl_store( be, db, key, idl );
@@ -449,8 +444,8 @@ idl_insert_key(
 	cont_id( k2, ID_BLOCK_ID(idl, i) );
 
 	if ( (tmp = idl_fetch_one( be, db, k2 )) == NULL ) {
-		Debug( LDAP_DEBUG_ANY, "nonexistent continuation block (%s)\n",
-		    k2.dptr, 0, 0 );
+		Debug( LDAP_DEBUG_ANY, "idl_insert_key: nonexistent continuation block\n",
+		    0, 0, 0 );
 		cont_free( k2 );
 		idl_free( idl );
 		return( -1 );
@@ -461,7 +456,7 @@ idl_insert_key(
 	case 0:		/* id inserted ok */
 		if ( (rc = idl_store( be, db, k2, tmp )) != 0 ) {
 			Debug( LDAP_DEBUG_ANY,
-			    "idl_store of (%s) returns %d\n", k2.dptr, rc, 0 );
+			    "idl_insert_key: idl_store returned %d\n", rc, 0, 0 );
 		}
 		break;
 
@@ -494,8 +489,8 @@ idl_insert_key(
 			cont_id( k2, ID_BLOCK_ID(idl, i) );
 			if ( (tmp2 = idl_fetch_one( be, db, k2 )) == NULL ) {
 				Debug( LDAP_DEBUG_ANY,
-				    "idl_fetch_one (%s) returns NULL\n",
-				    k2.dptr, 0, 0 );
+				    "idl_insert_key: idl_fetch_one returned NULL\n",
+				    0, 0, 0 );
 				/* split the original block */
 				cont_free( k2 );
 				goto split;
@@ -523,7 +518,7 @@ idl_insert_key(
 				memcpy(k3.dptr, k2.dptr, k3.dsize);
 			    if ( (rc = idl_store( be, db, k3, tmp )) != 0 ) {
 				Debug( LDAP_DEBUG_ANY,
-			    "idl_store of (%s) returns %d\n", k3.dptr, rc, 0 );
+			    "idl_insert_key: idl_store returned %d\n", rc, 0, 0 );
 			    }
 
 				free( k3.dptr );
@@ -550,7 +545,7 @@ idl_insert_key(
 					 */
 				if ( rc == 2 ) {
 					Debug( LDAP_DEBUG_ANY,
-					    "id %ld already in next block\n",
+					    "idl_insert_key: id %ld already in next block\n",
 					    id, 0, 0 );
 				}
 
@@ -772,7 +767,7 @@ idl_delete_key (
 
 		if ( (tmp = idl_fetch_one( be, db, data )) == NULL ) {
 			Debug( LDAP_DEBUG_ANY,
-			    "idl_fetch of (%s) returns NULL\n", data.dptr, 0, 0 );
+			    "idl_delete_key: idl_fetch of returned NULL\n", 0, 0, 0 );
 			continue;
 		}
 		/*
diff --git a/servers/slapd/back-ldbm/init.c b/servers/slapd/back-ldbm/init.c
index 1ca9423081a099e28d309e68663ef2032afee305..5dcd6507b9c9f1bc2af34447d6fc65f67f9ffa86 100644
--- a/servers/slapd/back-ldbm/init.c
+++ b/servers/slapd/back-ldbm/init.c
@@ -20,7 +20,7 @@
 int back_ldbm_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "ldbm";
     bi.bi_init = ldbm_back_initialize;
 
diff --git a/servers/slapd/back-passwd/init.c b/servers/slapd/back-passwd/init.c
index d6bee89f8e17318e865eb44d1696c1a811f55aa5..3e310d49e49849cdcca4440f926b2a1445f74a0f 100644
--- a/servers/slapd/back-passwd/init.c
+++ b/servers/slapd/back-passwd/init.c
@@ -15,7 +15,7 @@
 int back_passwd_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "passwd";
     bi.bi_init = passwd_back_initialize;
 
diff --git a/servers/slapd/back-perl/init.c b/servers/slapd/back-perl/init.c
index 80f366aea31b4f00a9e1ceaa726932447427179c..7d192b126c4146a10a8641e483e220277aa4cc84 100644
--- a/servers/slapd/back-perl/init.c
+++ b/servers/slapd/back-perl/init.c
@@ -36,7 +36,7 @@ ldap_pvt_thread_mutex_t	perl_interpreter_mutex;
 int back_perl_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "perl";
     bi.bi_init = perl_back_initialize;
 
@@ -125,7 +125,7 @@ perl_back_db_init(
 )
 {
 	be->be_private = (PerlBackend *) ch_malloc( sizeof(PerlBackend) );
-	memset( be->be_private, 0, sizeof(PerlBackend));
+	memset( be->be_private, '\0', sizeof(PerlBackend));
 
 	Debug( LDAP_DEBUG_TRACE, "perl backend db init\n", 0, 0, 0 );
 
diff --git a/servers/slapd/back-shell/init.c b/servers/slapd/back-shell/init.c
index c539de9a1a9dd91c556518e5ea440cb32af91887..cb88e851f00b1e18af73d11478cad37ddf8810fe 100644
--- a/servers/slapd/back-shell/init.c
+++ b/servers/slapd/back-shell/init.c
@@ -19,7 +19,7 @@
 int back_shell_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "shell";
     bi.bi_init = shell_back_initialize;
 
diff --git a/servers/slapd/back-sql/init.c b/servers/slapd/back-sql/init.c
index 6740fcf4548354f65745de3dfeb85e270426f572..efbde57a99703c9639309534e8cd42114ac15959 100644
--- a/servers/slapd/back-sql/init.c
+++ b/servers/slapd/back-sql/init.c
@@ -24,7 +24,7 @@
 int backsql_LTX_init_module(int argc, char *argv[]) {
     BackendInfo bi;
 
-    memset( &bi, 0, sizeof(bi) );
+    memset( &bi, '\0', sizeof(bi) );
     bi.bi_type = "sql";
     bi.bi_init = backbacksql_initialize;
 
diff --git a/servers/slapd/back-tcl/tcl_init.c b/servers/slapd/back-tcl/tcl_init.c
index 8acaa3c4dc8315aeb58ffda2ea361f29912a2515..99b9f54486d5ecd681b13e02df0915c1324a3470 100644
--- a/servers/slapd/back-tcl/tcl_init.c
+++ b/servers/slapd/back-tcl/tcl_init.c
@@ -25,7 +25,7 @@ ldap_pvt_thread_mutex_t tcl_interpreter_mutex;
 void back_tcl_LTX_init_module(int argc, char *argv[]) {
    BackendInfo bi;
 
-   memset( &bi, 0, sizeof(bi) );
+   memset( &bi, '\0', sizeof(bi) );
    bi.bi_type = "tcl";
    bi.bi_init = tcl_back_initialize;
 
diff --git a/servers/slapd/sasl.c b/servers/slapd/sasl.c
index b2e40a05b822ad8ca92e2b684040bdce4dd57931..2fd29f5073609b9d6076dd78c84050470a6cf1bb 100644
--- a/servers/slapd/sasl.c
+++ b/servers/slapd/sasl.c
@@ -135,7 +135,7 @@ int sasl_init( void )
 #ifdef RESTRICT_SASL
 	{
 		sasl_security_properties_t secprops;
-		memset(&secprops, 0, sizeof(secprops));
+		memset(&secprops, '\0', sizeof(secprops));
 		secprops.security_flags = SASL_SEC_NOPLAINTEXT | SASL_SEC_NOANONYMOUS;
 		secprops.property_names = NULL;
 		secprops.property_values = NULL;
diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h
index a13b43a3a9462cea36f3b5dc750e059f0016562d..ff4d1211dadc59d36ba6b9d82dde8f8766d462b0 100644
--- a/servers/slapd/slap.h
+++ b/servers/slapd/slap.h
@@ -703,9 +703,6 @@ LIBSLAPD_F (int) slapMode;
 #define SLAP_MODE			0x0003
 
 #define SLAP_TRUNCATE_MODE	0x0100
-#ifdef SLAPD_BDB2
-#define SLAP_TIMED_MODE		0x1000
-#endif
 
 /* temporary aliases */
 typedef BackendDB Backend;
diff --git a/servers/slurpd/st.c b/servers/slurpd/st.c
index 8a76b0b181d04d239c82ada31e47b627dc3e38fd..f0addb7fa672b90499e45ae084d4eddb9960e6eb 100644
--- a/servers/slurpd/st.c
+++ b/servers/slurpd/st.c
@@ -63,7 +63,7 @@ St_add(
 
     st->st_data[ ind ]->hostname = strdup( ri->ri_hostname );
     st->st_data[ ind ]->port = ri->ri_port;
-    memset( st->st_data[ ind ]->last, 0, sizeof( st->st_data[ ind ]->last )); 
+    memset( st->st_data[ ind ]->last, '\0', sizeof( st->st_data[ ind ]->last )); 
     st->st_data[ ind ]->seq = 0;
 
     ldap_pvt_thread_mutex_unlock( &(st->st_mutex ));