-/* test.c - lber encoding test program */
+/* etest.c - lber encoding test program */
/* $OpenLDAP$ */
-/*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2008 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
- * Copyright (c) 1990 Regents of the University of Michigan.
+/* Portions Copyright (c) 1990 Regents of the University of Michigan.
* All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that this notice is preserved and that due credit is given
+ * to the University of Michigan at Ann Arbor. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission. This software
+ * 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"
static char* getbuf( void ) {
char *p;
- static char buf[128];
+ static char buf[1024];
- if ( fgets( buf, sizeof(buf), stdin ) == NULL )
- return NULL;
+ if ( fgets( buf, sizeof(buf), stdin ) == NULL ) return NULL;
- if ( (p = strchr( buf, '\n' )) != NULL )
- *p = '\0';
+ if ( (p = strchr( buf, '\n' )) != NULL ) *p = '\0';
return buf;
}
main( int argc, char **argv )
{
char *s;
+ int tag;
int fd, rc;
BerElement *ber;
break;
case 's': /* string */
- case 't': /* tag for the next element */
buf = getbuf();
rc = ber_printf( ber, fmt, buf );
break;
+ case 't': /* tag for the next element */
+ buf = getbuf();
+ tag = atoi(buf);
+ rc = ber_printf( ber, fmt, tag );
+ break;
default:
fprintf( stderr, "encode: unknown fmt %c\n", *fmt );
return( EXIT_FAILURE );
}
- if ( ber_flush( sb, ber, 1 ) == -1 ) {
- perror( "ber_flush" );
+ if ( ber_flush2( sb, ber, LBER_FLUSH_FREE_ALWAYS ) == -1 ) {
+ perror( "ber_flush2" );
return( EXIT_FAILURE );
}