-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);
- 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);
if (!(*type->fun)(in, &rr, 0, 0))
{
odr_perror(in, "Decoding constructed record.");
if (!(*type->fun)(in, &rr, 0, 0))
{
odr_perror(in, "Decoding constructed record.");
fprintf(stdout, "Packet dump:\n---------\n");
odr_dumpBER(stdout, (char*)r->u.octet_aligned->buf,
r->u.octet_aligned->len);
fprintf(stdout, "Packet dump:\n---------\n");
odr_dumpBER(stdout, (char*)r->u.octet_aligned->buf,
r->u.octet_aligned->len);
req->preferredRecordSyntax =
yaz_oidval_to_z3950oid(out, CLASS_RECSYN, recordsyntax_list[0]);
req->smallSetElementSetNames =
req->preferredRecordSyntax =
yaz_oidval_to_z3950oid(out, CLASS_RECSYN, recordsyntax_list[0]);
req->smallSetElementSetNames =
printf("Prefix query error: %s (code %d)\n", pqf_msg, code);
yaz_pqf_destroy (pqf_parser);
printf("Prefix query error: %s (code %d)\n", pqf_msg, code);
yaz_pqf_destroy (pqf_parser);
- printf ("(%d)", *sr->elements[j]->subqueryCount);
+ printf(" cnt=%d", *sr->elements[j]->subqueryCount);
+ if (sr->elements[j]->subqueryId)
+ printf(" id=%s ", sr->elements[j]->subqueryId);
printf("Prefix query error: %s (code %d)\n", pqf_msg, code);
yaz_pqf_destroy (pqf_parser);
return -1;
printf("Prefix query error: %s (code %d)\n", pqf_msg, code);
yaz_pqf_destroy (pqf_parser);
return -1;
{
FILE *f = ber_file ? ber_file : stdout;
odr_perror(in, "Decoding incoming APDU");
{
FILE *f = ber_file ? ber_file : stdout;
odr_perror(in, "Decoding incoming APDU");
fprintf(f, "Packet dump:\n---------\n");
odr_dumpBER(f, netbuffer, res);
fprintf(f, "---------\n");
fprintf(f, "Packet dump:\n---------\n");
odr_dumpBER(f, netbuffer, res);
fprintf(f, "---------\n");
rpn = ccl_find_str (bibset, arg, &error, &pos);
if (error) {
rpn = ccl_find_str (bibset, arg, &error, &pos);
if (error) {
- printf ("%*s^ - ", 3+strlen(last_cmd)+1+pos, " ");
+ int ioff = 3+strlen(last_cmd)+1+pos;
+ printf ("%*s^ - ", ioff, " ");
- sscan_res = sscanf (args, "%d %100[^ ] %100s", &otherinfoNo, oidstr, otherinfoString);
+ sscan_res = sscanf (args, "%d %100[^ ] %100s",
+ &otherinfoNo, oidstr, otherinfoString);
otherinfoNo,maxOtherInfosSupported);
}
oidval = oid_getvalbyname (oidstr);
otherinfoNo,maxOtherInfosSupported);
}
oidval = oid_getvalbyname (oidstr);
printf("Error in set_otherinfo command unknown oid %s \n",oidstr);
return 0;
}
extraOtherInfos[otherinfoNo].oidval = oidval;
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);
- 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);
-
- for(i=0; i<maxOtherInfosSupported; ++i) {
- if (extraOtherInfos[i].oidval!=-1 ) {
- extraOtherInfos[i].oidval=-1;
- free(extraOtherInfos[i].value);
+ for(i = 0; i < maxOtherInfosSupported; ++i)
+ {
+ if (extraOtherInfos[i].oidval != -1)
+ {
+ extraOtherInfos[i].oidval = -1;
+ xfree(extraOtherInfos[i].value);
} cmd_array[] = {
{"open", cmd_open, "('tcp'|'ssl')':<host>[':'<port>][/<db>]",NULL,0,NULL},
{"quit", cmd_quit, "",NULL,0,NULL},
} cmd_array[] = {
{"open", cmd_open, "('tcp'|'ssl')':<host>[':'<port>][/<db>]",NULL,0,NULL},
{"quit", cmd_quit, "",NULL,0,NULL},
{"find", cmd_find, "<query>",NULL,0,NULL},
{"delete", cmd_delete, "<setname>",NULL,0,NULL},
{"base", cmd_base, "<base-name>",NULL,0,NULL},
{"find", cmd_find, "<query>",NULL,0,NULL},
{"delete", cmd_delete, "<setname>",NULL,0,NULL},
{"base", cmd_base, "<base-name>",NULL,0,NULL},
{"zversion", cmd_zversion, "", NULL, 0, NULL},
{"help", cmd_help, "", NULL,0,NULL},
{"init", cmd_init, "", NULL,0,NULL},
{"zversion", cmd_zversion, "", NULL, 0, NULL},
{"help", cmd_help, "", NULL,0,NULL},
{"init", cmd_init, "", NULL,0,NULL},
cmd_array[i].local_tabcompletes = (char **) calloc(1,sizeof(char**));
num_of_tabs=0;
tabslist = cmd_array[i].local_tabcompletes;
cmd_array[i].local_tabcompletes = (char **) calloc(1,sizeof(char**));
num_of_tabs=0;
tabslist = cmd_array[i].local_tabcompletes;
- cmd_array[i].local_tabcompletes = (char **)
- realloc(cmd_array[i].local_tabcompletes,(num_of_tabs+2)*sizeof(char**));
- tabslist=cmd_array[i].local_tabcompletes;
- tabslist[num_of_tabs]=strdup(tabargument);
- tabslist[num_of_tabs+1]=NULL;
+ cmd_array[i].local_tabcompletes = (char **)
+ realloc(cmd_array[i].local_tabcompletes,
+ (num_of_tabs+2)*sizeof(char**));
+ tabslist = cmd_array[i].local_tabcompletes;
+ tabslist[num_of_tabs] = strdup(tabargument);
+ tabslist[num_of_tabs+1] = NULL;
+#endif
+#if HAVE_READLINE_READLINE_H
+static char** default_completer_list = NULL;
+
+static char* default_completer(const char* text, int state)
+{
+ return complete_from_list(default_completer_list, text, state);
+}
+#endif
+
+#if HAVE_READLINE_READLINE_H
-char ** readline_completer(char *text, int start, int end) {
-#if HAVE_READLINE_READLINE_H
-
- completerFunctionType completerToUse;
-
+char **readline_completer(char *text, int start, int end)
+{
+ completerFunctionType completerToUse;
+
- char** res=completion_matches(text,
- (CPFunction*)command_generator);
+ char** res = completion_matches(text,
+ (CPFunction*)command_generator);
- for (i = 0; cmd_array[i].cmd; i++) {
- if (!strncmp(cmd_array[i].cmd, word, strlen(word))) {
+ for (i = 0; cmd_array[i].cmd; i++)
+ if (!strncmp(cmd_array[i].cmd, word, strlen(word)))