From b1bf44a4e1190fe41440e731adaab9db14881508 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 13 Mar 2006 21:05:55 +0000 Subject: r14344: More helpful messages on error for command line specified controls fixes in paged_results asq -> async (This used to be commit fbd347544001da9e46246eb0b4a8d165ccab15c9) --- source4/lib/ldb/tools/cmdline.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source4/lib/ldb/tools/cmdline.c') diff --git a/source4/lib/ldb/tools/cmdline.c b/source4/lib/ldb/tools/cmdline.c index 2874818160..31cfcc1d08 100644 --- a/source4/lib/ldb/tools/cmdline.c +++ b/source4/lib/ldb/tools/cmdline.c @@ -255,6 +255,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) if ((ret < 4) || (crit < 0) || (crit > 1)) { fprintf(stderr, "invalid server_sort control syntax\n"); + fprintf(stderr, " syntax: crit(b):bc(n):ac(n):[:ctxid(o)]\n"); + fprintf(stderr, " note: b = boolean, n = number, s = string, o = b64 binary blob\n"); return NULL; } ctrl[i] = talloc(ctrl, struct ldb_control); @@ -296,6 +298,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) if ((ret < 3) || (crit < 0) || (crit > 1) || (flags < 0) || (max_attrs < 0)) { fprintf(stderr, "invalid dirsync control syntax\n"); + fprintf(stderr, " syntax: crit(b):flags(n):max_attrs(n)[:cookie(o)]\n"); + fprintf(stderr, " note: b = boolean, n = number, o = b64 binary blob\n"); return NULL; } @@ -335,6 +339,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) ret = sscanf(p, "%d:%255[^$]", &crit, attr); if ((ret != 2) || (crit < 0) || (crit > 1) || (attr[0] == '\0')) { fprintf(stderr, "invalid asq control syntax\n"); + fprintf(stderr, " syntax: crit(b):attr(s)\n"); + fprintf(stderr, " note: b = boolean, s = string\n"); return NULL; } @@ -359,6 +365,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) ret = sscanf(p, "%d:%d", &crit, &type); if ((ret != 2) || (crit < 0) || (crit > 1) || (type < 0) || (type > 1)) { fprintf(stderr, "invalid extended_dn control syntax\n"); + fprintf(stderr, " syntax: crit(b):type(b)\n"); + fprintf(stderr, " note: b = boolean\n"); return NULL; } @@ -382,6 +390,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) if ((ret != 2) || (crit < 0) || (crit > 1) || (size < 0)) { fprintf(stderr, "invalid paged_results control syntax\n"); + fprintf(stderr, " syntax: crit(b):size(n)\n"); + fprintf(stderr, " note: b = boolean, n = number\n"); return NULL; } @@ -410,6 +420,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) ret = sscanf(p, "%d:%d:%255[^:]:%127[^:]", &crit, &rev, attr, rule); if ((ret < 3) || (crit < 0) || (crit > 1) || (rev < 0 ) || (rev > 1) ||attr[0] == '\0') { fprintf(stderr, "invalid server_sort control syntax\n"); + fprintf(stderr, " syntax: crit(b):rev(b):attr(s)[:rule(s)]\n"); + fprintf(stderr, " note: b = boolean, s = string\n"); return NULL; } ctrl[i] = talloc(ctrl, struct ldb_control); @@ -437,6 +449,8 @@ struct ldb_control **parse_controls(void *mem_ctx, char **control_strings) ret = sscanf(p, "%d", &crit); if ((ret != 1) || (crit < 0) || (crit > 1)) { fprintf(stderr, "invalid notification control syntax\n"); + fprintf(stderr, " syntax: crit(b)\n"); + fprintf(stderr, " note: b = boolean\n"); return NULL; } -- cgit