#include "slap.h"
-extern char **str2charray();
-extern void charray_merge();
-
struct objclass *global_oc;
int global_schemacheck;
-static void oc_usage();
+static void oc_usage(void);
void
parse_oc(
struct objclass **ocp;
oc = (struct objclass *) ch_calloc( 1, sizeof(struct objclass) );
- oc->oc_name = strdup( argv[1] );
+ oc->oc_name = ch_strdup( argv[1] );
for ( i = 2; i < argc; i++ ) {
/* required attributes */
if ( strcasecmp( argv[i], "requires" ) == 0 ) {
do {
i++;
if ( i < argc ) {
+ char **s = str2charray( argv[i], "," );
last = argv[i][strlen( argv[i] ) - 1];
- charray_merge( &oc->oc_required,
- str2charray( argv[i], "," ) );
+ charray_merge( &oc->oc_required, s );
+ charray_free( s );
}
} while ( i < argc && last == ',' );
do {
i++;
if ( i < argc ) {
+ char **s = str2charray( argv[i], "," );
last = argv[i][strlen( argv[i] ) - 1];
- charray_merge( &oc->oc_allowed,
- str2charray( argv[i], "," ) );
+
+ charray_merge( &oc->oc_allowed, s );
+ charray_free( s );
}
} while ( i < argc && last == ',' );
}
static void
-oc_usage()
+oc_usage( void )
{
fprintf( stderr, "<oc clause> ::= objectclass <ocname>\n" );
fprintf( stderr, " [ requires <attrlist> ]\n" );