static void usage(void)
{
- printf("Usage: ldbedit <options> <expression>\n");
+ printf("Usage: ldbedit <options> <expression> <attributes ...>\n");
printf("Options:\n");
printf(" -H ldb_url choose the database (or $LDB_URL)\n");
printf(" -s base|sub|one choose search scope\n");
int opt;
enum ldb_scope scope = LDB_SCOPE_SUBTREE;
const char *editor;
+ const char * const * attrs = NULL;
ldb_url = getenv("LDB_URL");
usage();
}
expression = argv[0];
+ argc--;
+ argv++;
+ }
+
+ if (argc > 0) {
+ attrs = (const char * const *)argv;
}
ldb = ldb_connect(ldb_url, 0, NULL);
ldb_set_debug_stderr(ldb);
- ret = ldb_search(ldb, basedn, scope, expression, NULL, &msgs);
+ ret = ldb_search(ldb, basedn, scope, expression, attrs, &msgs);
if (ret == -1) {
printf("search failed - %s\n", ldb_errstring(ldb));