X-Git-Url: http://winboard.nl/cgi-bin?p=gnushogi.git;a=blobdiff_plain;f=gnushogi%2Fbook.c;h=0e9560783658aa73f9cd5ab7f02f9d0891c35c9e;hp=57758bbd5c7083bd6bfd49fc2269d37289b0e785;hb=8e08526b483296c7c932521fa9307ef0ee48f259;hpb=41518afff9fc23dadca228ff069814e134af303e diff --git a/gnushogi/book.c b/gnushogi/book.c index 57758bb..0e95607 100644 --- a/gnushogi/book.c +++ b/gnushogi/book.c @@ -590,20 +590,20 @@ static void NextOffset(struct gdxadmin *B) } -#define WriteAdmin() \ -{ \ - lseek(gfd, 0, SEEK_SET); \ - write(gfd, (char *)&ADMIN, sizeof_gdxadmin); \ +static void WriteAdmin(void) +{ + lseek(gfd, 0, SEEK_SET); + write(gfd, (char *)&ADMIN, sizeof_gdxadmin); } -#define WriteData() \ -{ \ - if (mustwrite ) \ - { \ - lseek(gfd, currentoffset, SEEK_SET); \ - write(gfd, (char *)&DATA, sizeof_gdxdata); \ - mustwrite = false; \ - } \ +static void WriteData(int *mustwrite) +{ + if (*mustwrite) + { + lseek(gfd, currentoffset, SEEK_SET); + write(gfd, (char *)&DATA, sizeof_gdxdata); + *mustwrite = false; + } } static int ReadAdmin(void) @@ -735,7 +735,7 @@ GetOpenings(void) * exist from some other opening. */ - WriteData(); + WriteData(&mustwrite); HashOffset(bhashkey, &B); first = true; @@ -773,7 +773,7 @@ GetOpenings(void) { DATA.flags &= (~LASTMOVE); mustwrite = true; - WriteData(); + WriteData(&mustwrite); } } } @@ -820,14 +820,14 @@ GetOpenings(void) { /* reset for next opening */ games++; - WriteData(); + WriteData(&mustwrite); RESET(); i = 0; side = black; } } - WriteData(); + WriteData(&mustwrite); fclose(fd); /* write admin rec with counts */ ADMIN.bookcount = B.bookcount;