Diff for /libraries/liblber/dtest.c between versions 1.9 and 1.28

version 1.9, 1999/03/02 19:23:14 version 1.28, 2002/04/02 16:40:04
Line 1 Line 1
 /* dtest.c - lber decoding test program */  /* dtest.c - lber decoding test program */
   /* $OpenLDAP: pkg/ldap/libraries/liblber/dtest.c,v 1.27 2002/01/04 20:17:36 kurt Exp $ */
 /*  /*
  * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */   */
 /* Portions  /* Portions
Line 18 Line 19
 #include "portable.h"  #include "portable.h"
   
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  
   
   #include <ac/stdlib.h>
 #include <ac/string.h>  #include <ac/string.h>
 #include <ac/socket.h>  #include <ac/socket.h>
 #include <ac/unistd.h>  #include <ac/unistd.h>
   
 #ifdef HAVE_CONSOLE_H  #ifdef HAVE_CONSOLE_H
 #include <console.h>  #include <console.h>
 #endif /* MACOS */  #endif
   
 #include <lber.h>  #include <lber.h>
   
 static void usage( char *name )  static void usage( const char *name )
 {  {
         fprintf( stderr, "usage: %s fmt\n", name );          fprintf( stderr, "usage: %s fmt\n", name );
 }  }
Line 38  static void usage( char *name ) Line 39  static void usage( char *name )
 int  int
 main( int argc, char **argv )  main( int argc, char **argv )
 {  {
         long            i;          char *s;
         unsigned long   len;  
         int             tag;          ber_tag_t       tag;
           ber_len_t       len;
   
         BerElement      *ber;          BerElement      *ber;
         Sockbuf         *sb;          Sockbuf         *sb;
           int             fd;
   
           /* enable debugging */
           int ival = -1;
           ber_set_option( NULL, LBER_OPT_DEBUG_LEVEL, &ival );
   
           if ( argc < 2 ) {
                   usage( argv[0] );
                   return( EXIT_FAILURE );
           }
   
 #ifdef HAVE_CONSOLE_H  #ifdef HAVE_CONSOLE_H
         ccommand( &argv );          ccommand( &argv );
         cshow( stdout );          cshow( stdout );
 #endif /* MACOS */  #endif
   
         sb = lber_pvt_sb_alloc_fd( fileno(stdin) );          sb = ber_sockbuf_alloc();
           fd = fileno( stdin );
           ber_sockbuf_add_io( sb, &ber_sockbuf_io_fd, LBER_SBIOD_LEVEL_PROVIDER,
                   (void *)&fd );
   
         if( (ber = ber_alloc_t(LBER_USE_DER)) == NULL ) {          ber = ber_alloc_t(LBER_USE_DER);
           if( ber == NULL ) {
                 perror( "ber_alloc_t" );                  perror( "ber_alloc_t" );
                 exit( 1 );                  return( EXIT_FAILURE );
         }          }
   
         if ( (tag = ber_get_next( sb, &len, ber )) == -1 ) {          tag = ber_get_next( sb, &len, ber);
           if( tag == LBER_ERROR ) {
                 perror( "ber_get_next" );                  perror( "ber_get_next" );
                 exit( 1 );                  return( EXIT_FAILURE );
         }          }
         printf( "message has tag 0x%x and length %ld\n", tag, len );  
   
         if ( ber_scanf( ber, "i", &i ) == -1 ) {          printf("decode: message tag 0x%lx and length %ld\n",
                 fprintf( stderr, "ber_scanf returns -1\n" );                  (unsigned long) tag, (long) len );
                 exit( 1 );  
           for( s = argv[1]; *s; s++ ) {
                   char buf[128];
                   char fmt[2];
                   fmt[0] = *s;
                   fmt[1] = '\0';
   
                   printf("decode: format %s\n", fmt );
                   len = sizeof(buf);
                   tag = ber_scanf( ber, fmt, &buf[0], &len );
   
                   if( tag == LBER_ERROR ) {
                           perror( "ber_scanf" );
                           return( EXIT_FAILURE );
                   }
         }          }
         printf( "got int %ld\n", i );  
   
         lber_pvt_sb_free( sb );          ber_sockbuf_free( sb );
         return( 0 );          return( EXIT_SUCCESS );
 }  }

Removed from v.1.9  
changed lines
  Added in v.1.28


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org