X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=uci2uci.c;h=1c13d0f6905ce2210e2569207c08557679527881;hb=acb140befabd8b0f1a8606470013b420d05b4fb7;hp=611697a63a2ed476353d5bdf220a28f3b2ec1302;hpb=e15efca6667b2673b4c1a5879a6917eab6800e58;p=polyglot.git diff --git a/uci2uci.c b/uci2uci.c index 611697a..1c13d0f 100644 --- a/uci2uci.c +++ b/uci2uci.c @@ -121,6 +121,7 @@ static void format_uci_option_line(char * option_line,option_t *opt){ char option_string[StringSize]; int j; strcpy(option_line,""); + // buffer overflow alert strcat(option_line,"option name"); if(opt->mode&PG){ strcat(option_line," Polyglot"); @@ -150,21 +151,22 @@ static void format_uci_option_line(char * option_line,option_t *opt){ // send_uci_options() static void send_uci_options() { - int i; - option_t *p=Option; + + option_t * opt; char option_line[StringSize]=""; gui_send(GUI,"id name %s", Uci->name); gui_send(GUI,"id author %s", Uci->author); - for(i=0;ioption_nb;i++){ - format_uci_option_line(option_line,Uci->option+i); - gui_send(GUI,"%s",option_line); + option_start_iter(Uci->option); + while((opt=option_next(Uci->option))){ + format_uci_option_line(option_line,opt); + gui_send(GUI,"%s",option_line); } - while(p->name){ - if(p->mode &UCI){ - format_uci_option_line(option_line,p); + option_start_iter(Option); + while((opt=option_next(Option))){ + if(opt->mode &UCI){ + format_uci_option_line(option_line,opt); gui_send(GUI,"%s",option_line); } - p++; } gui_send(GUI,"uciok"); } @@ -216,7 +218,7 @@ void uci2uci_gui_step(char string[]) { } SavedMove=MoveNone; if(!strstr(string,"infinite")){ - move=book_move(UCIboard,option_get_bool("BookRandom")); + move=book_move(UCIboard,option_get_bool(Option,"BookRandom")); if (move != MoveNone && move_is_legal(move,UCIboard)) { if(strstr(string,"ponder")){ SavedMove=move;