X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=a79c51c0480aa892e92dcb34d3ee8be171de2bfa;hb=d35622cea47fdf58f47d31023e28e49eaf1ecb47;hp=5791eac898aae2f9f3f5a5c4d2c4f3cb5304cc6f;hpb=f4c095a042b1bcccb78136be87944e46412386aa;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 5791eac..a79c51c 100644 --- a/client/client.c +++ b/client/client.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2004, Index Data * See the file LICENSE for details. * - * $Id: client.c,v 1.261 2004-12-13 14:21:54 heikki Exp $ + * $Id: client.c,v 1.264 2005-01-02 20:31:39 adam Exp $ */ #include @@ -32,6 +32,8 @@ #include #define S_ISREG(x) (x & _S_IFREG) #define S_ISDIR(x) (x & _S_IFDIR) +#else +#include #endif #include @@ -55,7 +57,6 @@ #if HAVE_READLINE_READLINE_H #include -#include #endif #if HAVE_READLINE_HISTORY_H #include @@ -104,6 +105,8 @@ static char *esPackageName = 0; static char *yazProxy = 0; static int kilobytes = 1024; static char *negotiationCharset = 0; +static int negotiationCharsetRecords = 1; +static int negotiationCharsetVersion = 3; static char *outputCharset = 0; static char *marcCharset = 0; static char* yazLang = 0; @@ -327,7 +330,8 @@ static void send_initRequest(const char* type_and_host) out, (const char**)&negotiationCharset, negotiationCharset ? 1 : 0, - (const char**)&yazLang, yazLang ? 1 : 0, 1); + (const char**)&yazLang, yazLang ? 1 : 0, + negotiationCharsetRecords); } } @@ -3034,18 +3038,24 @@ int cmd_negcharset(const char *arg) char l1[30]; *l1 = 0; - if (sscanf(arg, "%29s", l1) < 1) + if (sscanf(arg, "%29s %d %d", l1, &negotiationCharsetRecords, + &negotiationCharsetVersion) < 1) { printf("Current negotiation character set is `%s'\n", - negotiationCharset ? negotiationCharset: "none"); - return 1; + negotiationCharset ? negotiationCharset: "none"); + printf("Records in charset %s\n", negotiationCharsetRecords ? + "yes" : "no"); + printf("Charneg version %d\n", negotiationCharsetVersion); } - xfree (negotiationCharset); - negotiationCharset = NULL; - if (*l1 && strcmp(l1, "-") && strcmp(l1, "none")) + else { - negotiationCharset = xstrdup(l1); - printf ("Character set negotiation : %s\n", negotiationCharset); + xfree (negotiationCharset); + negotiationCharset = NULL; + if (*l1 && strcmp(l1, "-") && strcmp(l1, "none")) + { + negotiationCharset = xstrdup(l1); + printf ("Character set negotiation : %s\n", negotiationCharset); + } } return 1; }