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

version 1.2, 1998/10/24 23:41:55 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-2002 The OpenLDAP Foundation, All Rights Reserved.
    * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
    */
   /* Portions
  * Copyright (c) 1990 Regents of the University of Michigan.   * Copyright (c) 1990 Regents of the University of Michigan.
  * All rights reserved.   * All rights reserved.
  *   *
Line 14 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>
   
 #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 );
 }  }
   
   int
 main( int argc, char **argv )  main( int argc, char **argv )
 {  {
         long            i;          char *s;
         unsigned long   len;  
         int             tag;          ber_tag_t       tag;
         BerElement      ber;          ber_len_t       len;
         Sockbuf         sb;  
         extern char     *optarg;          BerElement      *ber;
           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
   
         memset( &sb, 0, sizeof(sb) );          sb = ber_sockbuf_alloc();
         sb.sb_sd = 0;          fd = fileno( stdin );
         sb.sb_ber.ber_buf = NULL;          ber_sockbuf_add_io( sb, &ber_sockbuf_io_fd, LBER_SBIOD_LEVEL_PROVIDER,
                   (void *)&fd );
   
           ber = ber_alloc_t(LBER_USE_DER);
           if( ber == NULL ) {
                   perror( "ber_alloc_t" );
                   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 %d\n", i );  
   
         return( 0 );          ber_sockbuf_free( sb );
           return( EXIT_SUCCESS );
 }  }

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


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