X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebrash.c;h=469cf052fab3b00a827601994e85ec3d450b4d8d;hb=eb8857cfa2ceaa2635f14888b95d6f71b8def045;hp=b70343dd794c93fd4d9ea55e2fdd2066f757b851;hpb=c12b2fd1dec22f73a18a8f89551f169a19203f8a;p=idzebra-moved-to-github.git diff --git a/index/zebrash.c b/index/zebrash.c index b70343d..469cf05 100644 --- a/index/zebrash.c +++ b/index/zebrash.c @@ -1,5 +1,5 @@ /* zebrash.c - command-line interface to zebra API - * $ID$ + * $Id: zebrash.c,v 1.6 2003-02-12 15:45:59 heikki Exp $ * * Copyrigth 2003 Index Data Aps * @@ -7,7 +7,7 @@ #include #include -#include +#include #include #if HAVE_READLINE_READLINE_H @@ -18,6 +18,7 @@ #endif #include "zebraapi.h" +#include #define MAX_NO_ARGS 32 #define MAX_OUT_BUFF 4096 @@ -41,8 +42,10 @@ ZebraHandle zh=0; /* the current session */ static int split_args( char *line, char** args ) { /* splits line into individual null-terminated strings, * returns pointers to them in args */ + /* FIXME - do we need to handle quoted args ?? */ char *p=line; int i=0; + int n=0; args[0]=0; /* by default */ while (*p==' ' || *p=='\t' || *p=='\n') p++; @@ -50,18 +53,41 @@ static int split_args( char *line, char** args ) { while (*p==' ' || *p=='\t' || *p=='\n') p++; + if (*p=='#') /* skip comments */ + break; args[i++]=p; args[i]=0; - while (*p && *p!=' ' && *p!='\t' && *p!='\n') + while (*p && *p!=' ' && *p!='\t' && *p!='\n' && *p!='#') p++; *p++='\0'; } + n=i; + while (n 0) + { + sprintf(tmp, "command returned %d\n",rc); + strcat(outbuff,tmp); + } + Zerrors(outbuff); printf("%s\n", outbuff); - } - - } - + } /* while */ +} /* shell() */ + /************************************** * Main