X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Ftools%2Fsizecount.c;h=52f19d20eb91201ae1cdf1daddab1697c65a7f35;hb=31e6b38fa715acd572fab77438996a2e52866afc;hp=45d82301007b6866f9aedf8e2379b24f53f852b9;hpb=fc88ac148fec541b678e36643b1a60e860e619dd;p=openldap diff --git a/servers/slapd/tools/sizecount.c b/servers/slapd/tools/sizecount.c index 45d8230100..52f19d20eb 100644 --- a/servers/slapd/tools/sizecount.c +++ b/servers/slapd/tools/sizecount.c @@ -1,30 +1,34 @@ +#include "portable.h" + #include -#include -#include + +#include +#include +#include + #include -#include "portable.h" +#include #define CACHE_SIZE 1000000 #define MODE 0600 #define DB_FLAGS (LDBM_WRCREAT|LDBM_NEWDB) #define SUBLEN 3 -extern char *first_word(); -extern char *next_word(); -extern char *word_dup(); -extern char *phonetic(); +extern char *first_word(char *); +extern char *next_word(char *); +extern char *word_dup(char *); +extern char *phonetic(char *); extern int ldap_debug; -extern int lber_debug; +int slap_debug; int ldap_syslog; int ldap_syslog_level; -static void add(); +static void add(LDBM ldbm, char *s, int *count, int *size, int freeit); -main( argc, argv ) - int argc; - char **argv; +int +main( int argc, char **argv ) { LDAP *ld; LDAPMessage *res, *e; @@ -40,17 +44,16 @@ main( argc, argv ) /* ldap_debug = 255; - lber_debug = 255; */ - if ( (ld = ldap_open( "vertigo:5555", LDAP_PORT )) == NULL ) { - perror( "ldap_open" ); - exit( 1 ); + if ( (ld = ldap_init( "vertigo:5555", 0 )) == NULL ) { + perror( "ldap_init" ); + exit( EXIT_FAILURE ); } if ( ldap_search( ld, "cn=index", LDAP_SCOPE_ONELEVEL, "(objectclass=*)", attrs, 0 ) == -1 ) { ldap_perror( ld, "ldap_search" ); - exit( 1 ); + exit( EXIT_FAILURE ); } printf( "attr\tdn\tnentries\tvcount\tvsize\twcount\twsize\tpcount\tpsize\tscount\tssize\n" ); @@ -78,7 +81,7 @@ main( argc, argv ) DB_FLAGS, MODE, CACHE_SIZE )) == NULL || (sldbm = ldbm_open( "scount.ldbm", DB_FLAGS, MODE, CACHE_SIZE )) == NULL ) { perror( "ldbm_open" ); - exit( 1 ); + exit( EXIT_FAILURE ); } vcount = 0; vsize = 0; wcount = 0; wsize = 0; @@ -89,6 +92,9 @@ main( argc, argv ) Datum key, data; char *w; + ldbm_datum_init( key ); + ldbm_datum_init( data ); + /* update value count */ vcount++; vsize += bvals[j]->bv_len; @@ -157,7 +163,7 @@ main( argc, argv ) (void) unlink( "pcount.ldbm" ); (void) unlink( "scount.ldbm" ); - exit( 0 ); + exit( EXIT_SUCCESS ); } static void @@ -171,6 +177,9 @@ add( { Datum key, data; + ldbm_datum_init( key ); + ldbm_datum_init( data ); + key.dptr = s; key.dsize = strlen( key.dptr ) + 1; data.dptr = ""; @@ -179,6 +188,6 @@ add( (*count)++; (*size) += strlen( key.dptr ); } - if ( freeit ) + if ( freeit && ( key.dptr != NULL ) ) ldbm_datum_free( ldbm, key ); }