+ print_log(name, price, einheiten, nickname, rest);
+
+ return einheiten;
+}
+
+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();
+ return;
+ }
+
+ status.status[n].times_sold += buy(status.status[n].item_name, status.status[n].price);
+}
+
+void buy_custom() {
+ BYTE c = 0, i = 0;
+ int negative = 1;
+ char entered[5] = {'1', 0, 0, 0, 0};
+ char *input, name[20];
+ int price;
+
+ clrscr();
+ memset(name, '\0', 20);
+ cprintf("\r\nWas soll gekauft werden?\r\n");
+ input = get_input();
+ strncpy(name, input, 20);
+ if (*name == '\0')
+ return;
+
+ cprintf("\r\nWie teuer ist \"%s\" (in cents)?\r\n", name);
+ while (1) {
+ c = cgetc();
+ if (c == 13)
+ break;
+ cputc(c);
+ if (c == 27) {
+ cprintf("Kauf abgebrochen, druecke RETURN...\r\n");
+ get_input();
+ return;
+ } else if (c == '-' && i == 0)
+ negative = -1;
+ else if (c > 47 && c < 58)
+ entered[i++] = c;
+ }
+ price = atoi(entered) * negative;
+
+ cprintf("\r\n");
+
+ buy(name, price);