input_terminator_t get_input_terminated_by(input_terminator_mask_t terminators,
char *out, BYTE outlen);
char *get_input(void);
+void cget_return(void);
char retry_or_quit(void);
char *format_euro(char *s, int maxlen, int cent);
void c128_perror(BYTE, char *);
print_the_buffer();
cprintf("\r\nEinzahlung durchgef" uUML "hrt, dr" uUML "cke RETURN...\r\n");
- input = get_input();
+ cget_return();
}
static void new_credit(void) {
if (credits.num_items == 75) {
cprintf("\rEs ist bereits die maximale Anzahl an Eintr" aUML
"gen erreicht, dr" uUML "cke RETURN...\r\n");
- input = get_input();
+ cget_return();
return;
}
return;
default:
cprintf("Unbekannter Befehl, dr" uUML "cke RETURN...\r\n");
- get_input();
+ cget_return();
}
}
}
return output;
}
+/* wait until user pressed RETURN, ignore all other input */
+void cget_return() {
+ BYTE c;
+ while (1) {
+ c = cgetc();
+ if (c == PETSCII_CR) {
+ return;
+ }
+ }
+}
+
char retry_or_quit(void) {
char *c;
do {
exit(0);
default:
cprintf("Unbekannter Befehl, druecke RETURN...\r\n");
- get_input();
+ cget_return();
}
}
}
}
if (c == PETSCII_ESC) {
cprintf("Kauf abgebrochen, dr" uUML "cke RETURN...\r\n");
- get_input();
+ cget_return();
return 1;
}
if (c == '-' && i == 0) {
"cke RETURN...\r\n",
nickname, rest);
textcolor(TC_LIGHT_GRAY);
- get_input();
+ cget_return();
matches++;
} else {
textcolor(TC_LIGHT_RED);
cprintf("\r\nNickname nicht gefunden in der Guthabenverwaltung! Abbruch, "
"dr" uUML "cke RETURN...\r\n");
textcolor(TC_LIGHT_GRAY);
- get_input();
+ cget_return();
return 0;
}
} else {
void buy_stock(BYTE n) {
if (n >= status.num_items || status.status[n].item_name == NULL) {
cprintf("FEHLER: Diese Einheit existiert nicht.\r\n");
- get_input();
+ cget_return();
return;
}
cputc(c);
if (c == PETSCII_ESC) {
cprintf("Kauf abgebrochen, dr" uUML "cke RETURN...\r\n");
- get_input();
+ cget_return();
return;
} else if (c == '-' && i == 0)
negative = -1;
log_flush();
cprintf("ok\r\nStatefile/Creditfile/Log gesichert, dr" uUML
"cke RETURN...\r\n");
- get_input();
+ cget_return();
} else if (*c == 'g') {
credit_manager();
} else if (*c == 'z') {