Mercurial > hg > early-roguelike
comparison srogue/options.c @ 103:00baf21eb047
srogue: fix backspace key during prompts.
md_readchar() handled the key properly, but get_str(), which is called
when prompting user entry, called wgetch() instead of md_readchar().
| author | John "Elwin" Edwards |
|---|---|
| date | Tue, 03 Sep 2013 14:02:15 -0700 |
| parents | 3aa87373c908 |
| children | aa582a02eb5d |
comparison
equal
deleted
inserted
replaced
| 102:1906d183f1f5 | 103:00baf21eb047 |
|---|---|
| 120 draw(awin); | 120 draw(awin); |
| 121 getyx(awin, oy, ox); | 121 getyx(awin, oy, ox); |
| 122 /* | 122 /* |
| 123 * loop reading in the string, and put it in a temporary buffer | 123 * loop reading in the string, and put it in a temporary buffer |
| 124 */ | 124 */ |
| 125 for (sp = buf; (c=wgetch(awin)) != '\n' && c != '\r' && c != ESCAPE; | 125 for (sp = buf; (c=readchar(awin)) != '\n' && c != '\r' && c != ESCAPE; |
| 126 wclrtoeol(awin), draw(awin)) { | 126 wclrtoeol(awin), draw(awin)) { |
| 127 if (( (int)sp - (int)buf ) >= 50) { | 127 if (( (int)sp - (int)buf ) >= 50) { |
| 128 *sp = '\0'; /* line was too long */ | 128 *sp = '\0'; /* line was too long */ |
| 129 strucpy(opt,buf,strlen(buf)); | 129 strucpy(opt,buf,strlen(buf)); |
| 130 mvwaddstr(awin, 0, 0, "Name was truncated --More--"); | 130 mvwaddstr(awin, 0, 0, "Name was truncated --More--"); |
