X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=io.c;h=258da5513f9bd5eeaf7e14d169925e5bebcd7d15;hb=2d2c83eac8c33303b2b35bf6f1903b7b2f9f1d14;hp=803e128966654191113de0ee57653d0e3d1dd738;hpb=222e7873f49cb4b28e872552e8cdc1a8a3e2a605;p=super-star-trek.git diff --git a/io.c b/io.c index 803e128..258da55 100644 --- a/io.c +++ b/io.c @@ -130,7 +130,7 @@ void pause_game(int i) { wrefresh(stdscr); } else { putchar('\n'); - prout(prompt); + proutn(prompt); fgets(buf, sizeof(buf), stdin); if (i != 0) { clearscreen(); @@ -169,14 +169,14 @@ void skip(int i) { } static void vproutn(char *fmt, va_list ap) { - char *strbuf, *p, *s; - vasprintf(&strbuf, fmt, ap); - p=s=strbuf; + char *s, *p; + vasprintf(&s, fmt, ap); + p=s; if ((curwnd==4)&&(wherey()==wnds[curwnd].wndbottom-wnds[curwnd].wndtop)){ - if (strchr(strbuf,'\n')){ - p=strchr(strbuf,'\n'); + if (strchr(s,'\n')) { + p=strchr(s,'\n'); p[0]=0; - cprintf("%s",strbuf); + cprintf("%s",s); p++; pause_game(0); } @@ -188,7 +188,7 @@ static void vproutn(char *fmt, va_list ap) { // setwnd(curwnd); if (strchr(s,'\n') || strchr(s,'\r')) clreol(); cprintf("%s",p); - free(strbuf); + free(s); #endif /* SERGEEV */ } @@ -245,10 +245,11 @@ static void prchr(char *s){ } static void vprouts(char *fmt, va_list ap) { - char *s; + char *s, *p; vasprintf(&s, fmt, ap); - while (*s) { - prchr(s++); + p=s; + while (*p) { + prchr(p++); delay(30); } free(s);