X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=b2d50c451bd94da5543a52b9e3d39d29bec261f2;hb=821e247a6d064e29703c74b21f755baaf4cc1e6e;hp=9c449088fcea35ae9a1184433048a51d91e4f02e;hpb=b584d89b2b0ac60b56496762db23e33b1dd6d2fe;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 9c44908..b2d50c4 100644 --- a/client/client.c +++ b/client/client.c @@ -1,8 +1,11 @@ /* - * Copyright (C) 1995-2005, Index Data ApS + * Copyright (C) 1995-2006, Index Data ApS * See the file LICENSE for details. * - * $Id: client.c,v 1.301 2005-12-02 16:13:50 adam Exp $ + * $Id: client.c,v 1.309 2006-05-07 20:57:26 adam Exp $ + */ +/** \file client.c + * \brief yaz-client program */ #include @@ -169,9 +172,10 @@ struct { void process_cmd_line(char* line); -char ** readline_completer(char *text, int start, int end); -char *command_generator(const char *text, int state); -char** curret_global_list=NULL; +#if HAVE_READLINE_READLINE_H +char **readline_completer(char *text, int start, int end); +#endif +static char *command_generator(const char *text, int state); int cmd_register_tab(const char* arg); static void close_session (void); @@ -341,12 +345,10 @@ static void send_initRequest(const char* type_and_host) p0->which = Z_OtherInfo_externallyDefinedInfo; p0->information.externallyDefinedInfo = - yaz_set_proposal_charneg( - out, - (const char**)&negotiationCharset, - negotiationCharset ? 1 : 0, - (const char**)&yazLang, yazLang ? 1 : 0, - negotiationCharsetRecords); + yaz_set_proposal_charneg_list(out, ",", + negotiationCharset, + yazLang, + negotiationCharsetRecords); } } @@ -882,7 +884,7 @@ static void display_record(Z_External *r) if (!(*type->fun)(in, &rr, 0, 0)) { odr_perror(in, "Decoding constructed record."); - fprintf(stdout, "[Near %d]\n", odr_offset(in)); + fprintf(stdout, "[Near %ld]\n", (long) odr_offset(in)); fprintf(stdout, "Packet dump:\n---------\n"); odr_dumpBER(stdout, (char*)r->u.octet_aligned->buf, r->u.octet_aligned->len); @@ -1552,7 +1554,8 @@ static int send_searchRequest(const char *arg) const char *pqf_msg; size_t off; int code = yaz_pqf_error (pqf_parser, &pqf_msg, &off); - printf("%*s^\n", off+4, ""); + int ioff = off; + printf("%*s^\n", ioff+4, ""); printf("Prefix query error: %s (code %d)\n", pqf_msg, code); yaz_pqf_destroy (pqf_parser); @@ -2853,7 +2856,8 @@ int send_scanrequest(const char *query, int pp, int num, const char *term) const char *pqf_msg; size_t off; int code = yaz_pqf_error (pqf_parser, &pqf_msg, &off); - printf("%*s^\n", off+7, ""); + int ioff = off; + printf("%*s^\n", ioff+7, ""); printf("Prefix query error: %s (code %d)\n", pqf_msg, code); yaz_pqf_destroy (pqf_parser); return -1; @@ -3250,8 +3254,8 @@ int cmd_packagename(const char* arg) int cmd_proxy(const char* arg) { - xfree (yazProxy); - yazProxy = NULL; + xfree(yazProxy); + yazProxy = 0; if (*arg) yazProxy = xstrdup (arg); return 1; @@ -3705,9 +3709,7 @@ static void initialize(void) #if HAVE_READLINE_READLINE_H rl_attempted_completion_function = (CPPFunction*)readline_completer; #endif - - - for(i=0; i=maxOtherInfosSupported) { @@ -4092,7 +4096,8 @@ int cmd_set_otherinfo(const char* args) } extraOtherInfos[otherinfoNo].oidval = -1; if (extraOtherInfos[otherinfoNo].value) - free(extraOtherInfos[otherinfoNo].value); + xfree(extraOtherInfos[otherinfoNo].value); + extraOtherInfos[otherinfoNo].value = 0; return 0; } if (sscan_res<3) { @@ -4101,18 +4106,20 @@ int cmd_set_otherinfo(const char* args) } if (otherinfoNo>=maxOtherInfosSupported) { - printf("Error otherinfo index to large (%d>%d)\n", + printf("Error otherinfo index too large (%d>=%d)\n", otherinfoNo,maxOtherInfosSupported); } oidval = oid_getvalbyname (oidstr); - if (oidval == -1 ) { + if (oidval == VAL_NONE) + { printf("Error in set_otherinfo command unknown oid %s \n",oidstr); return 0; } extraOtherInfos[otherinfoNo].oidval = oidval; - if(extraOtherInfos[otherinfoNo].value) free(extraOtherInfos[otherinfoNo].value); - extraOtherInfos[otherinfoNo].value = strdup(otherinfoString); + if (extraOtherInfos[otherinfoNo].value) + xfree(extraOtherInfos[otherinfoNo].value); + extraOtherInfos[otherinfoNo].value = xstrdup(otherinfoString); return 0; } @@ -4242,25 +4249,26 @@ int cmd_list_all(const char* args) { int cmd_clear_otherinfo(const char* args) { if(strlen(args)>0) { - int otherinfoNo; - otherinfoNo = atoi(args); - if( otherinfoNo >= maxOtherInfosSupported ) { - printf("Error otherinfo index to large (%d>%d)\n",otherinfoNo,maxOtherInfosSupported); + int otherinfoNo = atoi(args); + if (otherinfoNo >= maxOtherInfosSupported) { + printf("Error otherinfo index too large (%d>=%d)\n", + otherinfoNo, maxOtherInfosSupported); return 0; } - - if(extraOtherInfos[otherinfoNo].oidval != -1) { + if (extraOtherInfos[otherinfoNo].oidval != -1) + { /* only clear if set. */ - extraOtherInfos[otherinfoNo].oidval=-1; - free(extraOtherInfos[otherinfoNo].value); + extraOtherInfos[otherinfoNo].oidval = -1; + xfree(extraOtherInfos[otherinfoNo].value); } } else { int i; - - for(i=0; i