X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Ftabcomplete.c;h=ad48f3b39777e6f0f7152e0854d05d869dc5ba67;hb=27743f316331a9ea508df5f204416a6864fc320f;hp=d3ec86afd370c2977624400c0647a60bd9ef2dbf;hpb=7401a51ed865b1dcdf5905b2bc6c793dc023416e;p=yaz-moved-to-github.git diff --git a/client/tabcomplete.c b/client/tabcomplete.c index d3ec86a..ad48f3b 100644 --- a/client/tabcomplete.c +++ b/client/tabcomplete.c @@ -2,7 +2,7 @@ * Copyright (c) 2002, Index Data * See the file LICENSE for details. * - * $Id: tabcomplete.c,v 1.3 2002-01-30 22:02:03 adam Exp $ + * $Id: tabcomplete.c,v 1.8 2002-09-24 08:05:41 adam Exp $ */ #include @@ -12,6 +12,8 @@ #include #include "tabcomplete.h" +extern char** curret_global_list; + /* ***************************************************************************** * * generic compleater @@ -19,13 +21,21 @@ * *****************************************************************************/ char* complete_from_list(char* completions[], const char *text, int state) -{ - static idx; +{ + static int idx; + + if(!completions) return NULL; if(state==0) { idx = 0; } for(; completions[idx]; ++ idx) { - if(!strncmp(completions[idx],text,strlen(text))) { + if(! +#ifdef WIN32 + _strnicmp +#else + strncasecmp +#endif + (completions[idx],text,strlen(text))) { ++idx; /* skip this entry on the next run */ return (char*)strdup(completions[idx-1]); }; @@ -57,7 +67,7 @@ void oid_loader(struct oident* oid, void* data_) { oid_callback_t* data=(oid_callback_t*) data_; - //fprintf(stderr,"ja7: called with %d: %s\n",oid->oclass,oid->desc); + if((oid->oclass == CLASS_GENERAL) || (oid->oclass == data->oclass)) { if(data->index==data->max) { data->values=(char**)realloc(data->values,((data->max+1)*2)*sizeof(char*)); @@ -66,11 +76,11 @@ void oid_loader(struct oident* oid, void* data_) data->values[data->index]=oid->desc; ++data->index; } -}; +} char** build_list_for_oclass(oid_class oclass) { oid_callback_t data; - data.values = calloc(10,sizeof(char*)); + data.values = (char **) calloc(10,sizeof(char*)); data.index = 0; data.max = 9; data.oclass = oclass; @@ -93,6 +103,12 @@ char* complete_querytype(const char *text, int state) return complete_from_list(querytypes,text,state); } +char* complete_auto_reconnect(const char *text, int state) +{ + char* querytypes[] = {"on","off",0}; + return complete_from_list(querytypes,text,state); +} + char* complete_format(const char* text, int state) { @@ -120,7 +136,15 @@ char* complete_attributeset(const char* text, int state) free(list); return res; -}; +} + + +char* default_completer(const char* text, int state) +{ + return complete_from_list(curret_global_list,text,state); +} + + /* * Local variables: