From 43a39e3fad856932e6f538bb05781d0430c58899 Mon Sep 17 00:00:00 2001 From: Dennis Schafroth Date: Fri, 28 Oct 2011 12:47:37 +0200 Subject: [PATCH] Implement display of suggestions --- zoom/zoomsh.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/zoom/zoomsh.c b/zoom/zoomsh.c index 2e719f0..601dafc 100644 --- a/zoom/zoomsh.c +++ b/zoom/zoomsh.c @@ -359,6 +359,39 @@ static int cmd_facets(ZOOM_connection *c, ZOOM_resultset *r, return ret; } +static int cmd_suggestions(ZOOM_connection *c, ZOOM_resultset *r, ZOOM_options options, const char **args) +{ + int i; + int ret = 0; + + process_events(c); + + for (i = 0; i < MAX_CON; i++) + { + int error; + const char *errmsg, *addinfo, *dset; + /* display errors if any */ + if (!c[i]) + continue; + if ((error = ZOOM_connection_error_x(c[i], &errmsg, &addinfo, &dset))) + { + printf("%s error: %s (%s:%d) %s\n", + ZOOM_connection_option_get(c[i], "host"), errmsg, + dset, error, addinfo); + ret = 1; + } + else if (r[i]) + { + const char *suggestions = ZOOM_resultset_option_get(r[i], "suggestions"); + if (suggestions) { + printf("Suggestions: \n%s\n", suggestions); + } + } + } + return ret; +} + + static int cmd_ext(ZOOM_connection *c, ZOOM_resultset *r, ZOOM_options options, const char **args) @@ -629,6 +662,8 @@ static int cmd_help(ZOOM_connection *c, ZOOM_resultset *r, printf(" lang\n"); printf(" timeout\n"); printf(" facets\n"); + printf(" extraArgs\n"); + printf(" suggestions\n"); return 0; } @@ -722,6 +757,8 @@ static int cmd_parse(ZOOM_connection *c, ZOOM_resultset *r, ret = cmd_search(c, r, options, buf); else if (is_command("show", cmd_str, cmd_len)) ret = cmd_show(c, r, options, buf); + else if (is_command("suggestions", cmd_str, cmd_len)) + ret = cmd_suggestions(c, r, options, buf); else if (is_command("close", cmd_str, cmd_len)) ret = cmd_close(c, r, options, buf); else if (is_command("help", cmd_str, cmd_len)) -- 1.7.10.4