Mercurial > hg > early-roguelike
comparison srogue/options.c @ 119:458df24e973d
srogue: use functions from mdport.c.
Shell escape, passwd entries, terminal settings, and most signal
handling is now done with the more portable md_* functions.
author | John "Elwin" Edwards |
---|---|
date | Wed, 30 Apr 2014 14:46:30 -0700 |
parents | aa582a02eb5d |
children | 94a0d9dd5ce1 |
comparison
equal
deleted
inserted
replaced
118:8d1dfc5a912c | 119:458df24e973d |
---|---|
12 * All rights reserved. | 12 * All rights reserved. |
13 * | 13 * |
14 * See the file LICENSE.TXT for full copyright and licensing information. | 14 * See the file LICENSE.TXT for full copyright and licensing information. |
15 */ | 15 */ |
16 | 16 |
17 #include <termios.h> | |
18 #include <ctype.h> | 17 #include <ctype.h> |
19 #include <string.h> | 18 #include <string.h> |
20 #include "rogue.h" | 19 #include "rogue.h" |
21 #include "rogue.ext" | 20 #include "rogue.ext" |
22 | |
23 extern struct termios terminal; | |
24 | 21 |
25 /* | 22 /* |
26 * description of an option and what to do with it | 23 * description of an option and what to do with it |
27 */ | 24 */ |
28 struct optstruct { | 25 struct optstruct { |
135 draw(awin); | 132 draw(awin); |
136 return NORM; | 133 return NORM; |
137 } | 134 } |
138 if (c == -1) | 135 if (c == -1) |
139 continue; | 136 continue; |
140 else if(c == terminal.c_cc[VERASE]) { /* process erase char */ | 137 else if(c == md_erasechar()) { /* process erase char */ |
141 if (sp > buf) { | 138 if (sp > buf) { |
142 reg int i; | 139 reg int i; |
143 | 140 |
144 sp--; | 141 sp--; |
145 for (i = strlen(unctrl(*sp)); i; i--) | 142 for (i = strlen(unctrl(*sp)); i; i--) |
146 waddch(awin, '\b'); | 143 waddch(awin, '\b'); |
147 } | 144 } |
148 continue; | 145 continue; |
149 } | 146 } |
150 else if (c == terminal.c_cc[VKILL]) { /* process kill character */ | 147 else if (c == md_killchar()) { /* process kill character */ |
151 sp = buf; | 148 sp = buf; |
152 wmove(awin, oy, ox); | 149 wmove(awin, oy, ox); |
153 continue; | 150 continue; |
154 } | 151 } |
155 else if (sp == buf) { | 152 else if (sp == buf) { |