static void
usage( char *name )
{
- fprintf( stderr, "usage: %s [-n] <filename>\n", name );
- exit( 1 );
+ fprintf( stderr, "usage: %s [-n] <filename>\n", name );
+ exit( 1 );
}
int
main( int argc, char **argv )
{
- Datum key, last, data;
- LDBM dbp;
- int rc, type;
- long id;
- char *file, *s;
- int printid = 1;
+ Datum key, last, data;
+ LDBM dbp;
+ int rc, type;
+ long id;
+ char *file, *s;
+ int printid = 1;
#ifdef HAVE_BERKELEY_DB2
- DBC *cursorp;
-
- memset( &key, 0, sizeof( key ));
- memset( &last, 0, sizeof( last ));
- memset( &data, 0, sizeof( data ));
+ DBC *cursorp;
#endif
- if ( argc < 2 || argc > 3 || ( argc == 3 && strcmp( argv[1], "-n" )
- != 0 )) {
- usage( argv[0] );
- }
- if ( argc == 3 && strcmp( argv[1], "-n" ) == 0 ) {
- printid = 0;
- file = argv[2];
- } else {
- file = argv[1];
- }
-
- if ( (dbp = ldbm_open( file, LDBM_READER, 0, 0 )) == NULL ) {
- perror( file );
- exit ( 1 );
- }
+ ldbm_datum_init( key );
+ ldbm_datum_init( last );
+ ldbm_datum_init( data );
+
+ if ( argc < 2 || argc > 3 || ( argc == 3 && strcmp( argv[1], "-n" )
+ != 0 )) {
+ usage( argv[0] );
+ }
+ if ( argc == 3 && strcmp( argv[1], "-n" ) == 0 ) {
+ printid = 0;
+ file = argv[2];
+ } else {
+ file = argv[1];
+ }
+
+ if ( (dbp = ldbm_open( file, LDBM_READER, 0, 0 )) == NULL ) {
+ perror( file );
+ exit ( 1 );
+ }
last.dptr = NULL;
for ( key = ldbm_firstkey( dbp ); key.dptr != NULL;
key = ldbm_nextkey( dbp, last ) )
#endif
- {
+ {
if ( last.dptr != NULL )
ldbm_datum_free( dbp, last );
data = ldbm_fetch( dbp, key );
- s = data.dptr;
- if ( !printid && isdigit( *s )) {
- if (( s = strchr( s, '\n' )) != NULL ) {
- ++s;
- }
- }
- if ( s != NULL ) {
- puts( s );
- }
- ldbm_datum_free( dbp, data );
+
+ if (( s = data.dptr ) != NULL ) {
+
+ if ( !printid && isdigit( *s )) {
+ if (( s = strchr( s, '\n' )) != NULL ) {
+ ++s;
+ }
+ }
+ if ( s != NULL ) {
+ puts( s );
+ }
+
+ if ( data.dptr != NULL ) {
+ ldbm_datum_free( dbp, data );
+ }
+
+ }
+
last = key;
}
if ( last.dptr != NULL )
ldbm_datum_free( dbp, last );
- ldbm_close( dbp );
+ ldbm_close( dbp );
- exit( 0 );
+ exit( 0 );
}