X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=credit_manager.c;h=a91adda537c0dfac942ea5e400f65c56208df6da;hb=531895353890ab1f06a10c67306352ca8f1b61b6;hp=f4e7dbeadf9495499be329c7f3b85772fd2fd510;hpb=7e7736e17c6ab73fb72f91071f5c23dec887dd60;p=c128-kasse diff --git a/credit_manager.c b/credit_manager.c index f4e7dbe..a91adda 100644 --- a/credit_manager.c +++ b/credit_manager.c @@ -6,65 +6,56 @@ #include "config.h" #include "general.h" -char *filter = NULL; -BYTE filter_len; +static char *filter = NULL; +static BYTE filter_len; -void print_credit_screen() { +static void print_credit_screen() { BYTE i = 0; clrscr(); cprintf("C128-Kassenprogramm: Credit Manager\r\n\r\n"); - for (; i < num_credit_items; ++i) - if (filter == NULL || strncmp(credits[i].nickname, filter, filter_len) == 0) - cprintf("Guthaben %s: %d Cents\r\n", credits[i].nickname, credits[i].credit); + for (; i < credits.num_items; ++i) + if (filter == NULL || strncmp(credits.credits[i].nickname, filter, filter_len) == 0) + cprintf("Guthaben %s: %d Cents\r\n", credits.credits[i].nickname, credits.credits[i].credit); cprintf("\r\nBefehle: n) Neues Guthaben f) Filtern z) Zurueck\r\n"); } /* Guthabenverwalter */ void credit_manager() { int negative = 1; - BYTE c; - char *nickname, *credits_input; + char *c, *nickname, *credits_input; /* credits_int is a stupid name, but overlaps with struct credits_t credits; else */ int credits_int; while (1) { print_credit_screen(); - c = getchar(); - if (c == 'n') { - cprintf("Nickname eingeben:\r\n"); - nickname = get_input(); - if (nickname[0] == '\0') { - free(nickname); - continue; - } + c = get_input(); + if (c == NULL || *c == '\0') + continue; + if (*c == 'n') { cprintf("\r\nGuthaben eingeben:\r\n"); credits_input = get_input(); - if (credits_input[0] == '\0') { - free(credits_input); + + if (credits_input == NULL || credits_input[0] == '\0') continue; - } - if (credits_input[0] == '-') { + else if (credits_input[0] == '-') { negative = -1; ++credits_input; } credits_int = atoi(credits_input) * negative; if (credits_int > 0) { - strcpy(credits[num_credit_items].nickname, nickname); - credits[num_credit_items].credit = credits_int; - ++num_credit_items; + cprintf("Nickname eingeben:\r\n"); + nickname = get_input(); + if (nickname == NULL || nickname[0] == '\0') + continue; + strncpy(credits.credits[credits.num_items].nickname, nickname, 9); + credits.credits[credits.num_items].credit = credits_int; + ++credits.num_items; } - if (negative == -1) - --credits_input; - free(credits_input); - } else if (c == 'f') { + } else if (*c == 'f') { cprintf("Filter eingeben:\r\n"); - if (filter != NULL) - free(filter); filter = get_input(); - if (filter[0] == '0') { - free(filter); + if (filter == NULL || *filter == 32 || (filter_len = strlen(filter)) == 0) filter = NULL; - } else filter_len = strlen(filter); - } else if (c == 'z' || c == 'q') + } else if (*c == 'z' || *c == 'q') break; } }