+ printf("\nAuf ein Guthaben kaufen? Wenn ja, Nickname eingeben:\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 < num_credit_items; ++c)
+ if (strncmp(nickname, credits[c].nickname, nickname_len) == 0) {
+ if (++matches == 2)
+ break;
+ else single_match = c;
+ }
+ if (matches == 1) {
+ if (credits[single_match].credit < (status[n].price * einheiten)) {
+ printf("Sorry, %s hat nicht genug Geld :-(\n", nickname);
+ free(nickname);
+ return;
+ } else {
+ /* Geld abziehen */
+ credits[single_match].credit -= (status[n].price * einheiten);
+ printf("\nVerbleibendes Guthaben fuer %s: %d Cents. Druecke ANYKEY...\n", nickname, credits[single_match].credit);
+ getchar();
+ }
+ } else {
+ free(nickname);
+ nickname = NULL;
+ }
+ }