+ cprintf("\r\nAuf ein Guthaben kaufen? Wenn ja, Nickname eingeben:\r\n");
+ nickname = get_input();
+ if (nickname[0] == '\0') {
+ free(nickname);
+ nickname = NULL;
+ } else {
+ nickname_len = strlen(nickname);
+ /* go through credits and remove the amount of money or set nickname
+ * to NULL if no such credit could be found */
+ for (c = 0; c < credits.num_items; ++c)
+ if (strncmp(nickname, credits.credits[c].nickname, nickname_len) == 0) {
+ if (++matches == 2)
+ break;
+ else single_match = c;
+ }
+ if (matches == 1) {
+ if (credits.credits[single_match].credit < (status.status[n].price * einheiten)) {
+ cprintf("Sorry, %s hat nicht genug Geld :-(\r\n", nickname);
+ free(nickname);
+ return;
+ } else {
+ /* Geld abziehen */
+ credits.credits[single_match].credit -= (status.status[n].price * einheiten);
+ cprintf("\r\nVerbleibendes Guthaben fuer %s: %d Cents. Druecke ANYKEY...\r\n",
+ nickname, credits.credits[single_match].credit);
+ getchar();
+ }
+ } else if (matches == 0) {
+ // TODO
+ } else {
+ free(nickname);
+ nickname = NULL;
+ }
+ }
+ status.status[n].times_sold += einheiten;
+ money += status.status[n].price * einheiten;