X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fitemdb.c;h=06c82578a645cf5a01776c280daba4f940b78f6f;hb=008596161453e64354973268125058b49aee60d3;hp=a88fad810fb32321d22aa83cada50bbfef3254d5;hpb=88dc83a1cdc8df8d74078f1d41726095d5a26d61;p=tpg%2Fopendispense2.git diff --git a/src/server/itemdb.c b/src/server/itemdb.c index a88fad8..06c8257 100644 --- a/src/server/itemdb.c +++ b/src/server/itemdb.c @@ -16,6 +16,8 @@ #include #include +#define DUMP_ITEMS 0 + // === IMPORTS === extern tHandler gCoke_Handler; extern tHandler gSnack_Handler; @@ -31,7 +33,7 @@ char *trim(char *__str); int giNumItems = 0; tItem *gaItems = NULL; time_t gItems_LastUpdated; -tHandler gPseudo_Handler = {Name:"pseudo"}; +tHandler gPseudo_Handler = {.Name="pseudo"}; tHandler *gaHandlers[] = {&gPseudo_Handler, &gCoke_Handler, &gSnack_Handler, &gDoor_Handler}; int giNumHandlers = sizeof(gaHandlers)/sizeof(gaHandlers[0]); char *gsItemListFile = DEFAULT_ITEM_FILE; @@ -81,7 +83,7 @@ void ItemList_Changed(int signum) #endif /** - * \brief Read the initiali item list + * \brief Read the initial item list */ void Load_Itemlist(void) { @@ -169,7 +171,9 @@ void Items_ReadFromFile(void) price = atoi( line + matches[3].rm_so ); desc = line + matches[4].rm_so; + #if DUMP_ITEMS printf("Item '%s' - %i cents, %s:%i\n", desc, price, type, num); + #endif handler = NULL; for( i = 0; i < giNumHandlers; i ++ ) @@ -190,7 +194,9 @@ void Items_ReadFromFile(void) if( items[i].Handler != handler ) continue; if( items[i].ID != num ) continue; + #if DUMP_ITEMS printf("Redefinition of %s:%i, updated\n", handler->Name, num); + #endif items[i].Price = price; free(items[i].Name); items[i].Name = strdup(desc); @@ -201,7 +207,10 @@ void Items_ReadFromFile(void) items = realloc( items, (numItems + 1)*sizeof(items[0]) ); items[numItems].Handler = handler; items[numItems].ID = num; - items[numItems].Price = price; + if( gbNoCostMode ) + items[numItems].Price = 0; + else + items[numItems].Price = price; items[numItems].Name = strdup(desc); items[numItems].bHidden = (line[0] == '-'); numItems ++; @@ -214,6 +223,7 @@ void Items_ReadFromFile(void) free(gaItems); gaItems = NULL; } + fclose(fp); // Replace with new giNumItems = numItems;