X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoomsh.c;h=c5019aabedd588ae29b4656c5d912dee2a575fdf;hb=70b6eca73431e3cec68c93096de4fb02378c7ae6;hp=2e719f00af96376a91fc584e871e6f1c92e6e74d;hpb=5ce89138d84a5edc6d9b8e6d8128367b9b9b3e31;p=yaz-moved-to-github.git diff --git a/zoom/zoomsh.c b/zoom/zoomsh.c index 2e719f0..c5019aa 100644 --- a/zoom/zoomsh.c +++ b/zoom/zoomsh.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data + * Copyright (C) 1995-2012 Index Data * See the file LICENSE for details. */ /** \file zoomsh.c @@ -148,6 +148,15 @@ static int cmd_get(ZOOM_connection *c, ZOOM_resultset *r, return 0; } +static int cmd_shell(ZOOM_connection *c, ZOOM_resultset *r, + ZOOM_options options, const char **args) +{ + int ret = system(*args); + if (ret) + printf("system command returned %d\n", ret); + return 0; +} + static int cmd_rget(ZOOM_connection *c, ZOOM_resultset *r, ZOOM_options options, const char **args) @@ -359,6 +368,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) @@ -368,6 +410,12 @@ static int cmd_ext(ZOOM_connection *c, ZOOM_resultset *r, int ret = 0; WRBUF ext_type_str = next_token_new_wrbuf(args); + if (!ext_type_str) + { + printf("es: missing type " + "(itemorder, create, drop, commit, update, xmlupdate)\n"); + return 1; + } for (i = 0; i\n"); printf("set