Diff for /libraries/liblber/dtest.c between versions 1.15 and 1.32.2.3

version 1.15, 1999/05/19 17:10:55 version 1.32.2.3, 2005/01/20 17:01:00
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.32.2.2 2004/01/01 18:16:29 kurt Exp $ */
  * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   *
    * Copyright 1998-2005 The OpenLDAP Foundation.
    * All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted only as authorized by the OpenLDAP
    * Public License.
    *
    * A copy of this license is available in the file LICENSE in the
    * top-level directory of the distribution or, alternatively, at
    * <http://www.OpenLDAP.org/license.html>.
  */   */
 /* Portions  /* 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.
  *   *
  * Redistribution and use in source and binary forms are permitted   * Redistribution and use in source and binary forms are permitted
Line 14 Line 23
  * software without specific prior written permission. This software   * software without specific prior written permission. This software
  * is provided ``as is'' without express or implied warranty.   * is provided ``as is'' without express or implied warranty.
  */   */
   /* ACKNOWLEDGEMENTS:
    * This work was originally developed by the University of Michigan
    * (as part of U-MICH LDAP).
    */
   
 #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>
   #include <ac/errno.h>
   
 #ifdef HAVE_CONSOLE_H  #ifdef HAVE_CONSOLE_H
 #include <console.h>  #include <console.h>
 #endif /* MACOS */  #endif
   
 #include "lber-int.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 39  int Line 53  int
 main( int argc, char **argv )  main( int argc, char **argv )
 {  {
         char *s;          char *s;
         int rc;  
   
         unsigned long tag, len;          ber_tag_t       tag;
           ber_len_t       len;
   
         BerElement      *ber;          BerElement      *ber;
         Sockbuf         *sb;          Sockbuf         *sb;
           int             fd;
   
         /* enable debugging */          /* enable debugging */
         ber_int_debug = -1;          int ival = -1;
           ber_set_option( NULL, LBER_OPT_DEBUG_LEVEL, &ival );
   
         if ( argc < 2 ) {          if ( argc < 2 ) {
                 usage( argv[0] );                  usage( argv[0] );
Line 57  main( int argc, char **argv ) Line 73  main( int argc, char **argv )
 #ifdef HAVE_CONSOLE_H  #ifdef HAVE_CONSOLE_H
         ccommand( &argv );          ccommand( &argv );
         cshow( stdout );          cshow( stdout );
 #endif /* MACOS */  #endif
   
         sb = ber_sockbuf_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" );
                 return( EXIT_FAILURE );                  return( EXIT_FAILURE );
         }          }
   
         if(( tag = ber_get_next( sb, &len, ber) ) == LBER_ERROR ) {          for (;;) {
                   tag = ber_get_next( sb, &len, ber);
                   if( tag != LBER_ERROR ) break;
   
                   if( errno == EWOULDBLOCK ) continue;
                   if( errno == EAGAIN ) continue;
   
                 perror( "ber_get_next" );                  perror( "ber_get_next" );
                 return( EXIT_FAILURE );                  return( EXIT_FAILURE );
         }          }
   
         printf("decode: message tag 0x%lx and length %ld\n",          printf("decode: message tag 0x%lx and length %ld\n",
                 tag, len );                  (unsigned long) tag, (long) len );
   
         for( s = argv[1]; *s; s++ ) {          for( s = argv[1]; *s; s++ ) {
                 char buf[128];                  char buf[128];
Line 81  main( int argc, char **argv ) Line 107  main( int argc, char **argv )
                 fmt[1] = '\0';                  fmt[1] = '\0';
   
                 printf("decode: format %s\n", fmt );                  printf("decode: format %s\n", fmt );
                 rc = ber_scanf( ber, fmt, buf );                  len = sizeof(buf);
                   tag = ber_scanf( ber, fmt, &buf[0], &len );
   
                 if( rc == LBER_ERROR ) {                  if( tag == LBER_ERROR ) {
                         perror( "ber_scanf" );                          perror( "ber_scanf" );
                         return( EXIT_FAILURE );                          return( EXIT_FAILURE );
                 }                  }

Removed from v.1.15  
changed lines
  Added in v.1.32.2.3


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