MCPcopy Create free account
hub / github.com/NetHack/NetHack / more

Function more

win/tty/topl.c:204–248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

202}
203
204void
205more(void)
206{
207 struct WinDesc *cw = wins[WIN_MESSAGE];
208
209 if (iflags.debug_fuzzer)
210 return;
211
212 /* avoid recursion -- only happens from interrupts */
213 if (ttyDisplay->inmore)
214 return;
215
216 ttyDisplay->inmore++;
217
218 if (ttyDisplay->toplin) {
219 tty_curs(BASE_WINDOW, cw->curx + 1, cw->cury);
220 if (cw->curx >= CO - 8)
221 topl_putsym('\n');
222 }
223
224 if (flags.standout)
225 standoutbeg();
226 putsyms(defmorestr);
227 if (flags.standout)
228 standoutend();
229
230 xwaitforspace("\033 ");
231
232 if (morc == '\033') {
233 if (!(cw->flags & WIN_NOSTOP))
234 cw->flags |= WIN_STOP;
235 }
236
237 if (ttyDisplay->toplin && cw->cury) {
238 docorner(1, cw->cury + 1, 0);
239 cw->curx = cw->cury = 0;
240 home();
241 } else if (morc == '\033') {
242 cw->curx = cw->cury = 0;
243 home();
244 cl_end();
245 }
246 ttyDisplay->toplin = TOPLINE_EMPTY;
247 ttyDisplay->inmore = 0;
248}
249
250void
251update_topl(const char *bp)

Callers 7

redotoplinFunction · 0.70
update_toplFunction · 0.70
tty_yn_functionFunction · 0.70
tty_display_nhwindowFunction · 0.70
tty_message_menuFunction · 0.70
hooked_tty_getlinFunction · 0.70
docompress_fileFunction · 0.50

Calls 9

tty_cursFunction · 0.85
topl_putsymFunction · 0.85
putsymsFunction · 0.85
xwaitforspaceFunction · 0.85
docornerFunction · 0.85
standoutbegFunction · 0.70
standoutendFunction · 0.70
homeFunction · 0.70
cl_endFunction · 0.70

Tested by

no test coverage detected