int
slapadd( int argc, char **argv )
{
- char *buf = NULL;
- int lineno;
- int lmax;
- int rc = EXIT_SUCCESS;
-
+ char *buf = NULL;
const char *text;
char textbuf[SLAP_TEXT_BUFLEN] = { '\0' };
size_t textlen = sizeof textbuf;
const char *progname = "slapadd";
- int manage = 0;
struct berval csn;
struct berval maxcsn;
- int match;
+ struct berval bvtext;
Attribute *attr;
Entry *ctxcsn_e;
ID ctxcsn_id, id;
+ OperationBuffer opbuf;
+ Operation *op;
+
+ int match;
int ret;
- struct berval bvtext;
int checkvals;
- char opbuf[OPERATION_BUFFER_SIZE];
- Operation *op;
+ int lineno;
+ int lmax;
+ int rc = EXIT_SUCCESS;
+ int manage = 0;
slap_tool_init( progname, SLAPADD, argc, argv );
- memset( opbuf, 0, sizeof(opbuf) );
- op = (Operation *)opbuf;
+ memset( &opbuf, 0, sizeof(opbuf) );
+ op = (Operation *) &opbuf;
if( !be->be_entry_open ||
!be->be_entry_close ||
- !be->be_entry_put )
+ !be->be_entry_put ||
+ (update_ctxcsn &&
+ (!be->be_dn2id_get ||
+ !be->be_id2entry_get ||
+ !be->be_entry_modify)) )
{
fprintf( stderr, "%s: database doesn't support necessary operations.\n",
progname );