X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fitemdb.c;h=8f2cfeccd0a1cad82cb33f153b85413ea30c048f;hb=0e15ed888a4d398530a74a6b713414e649767358;hp=dc188fdc2d63859bfbc5f082a632295d96de5ee2;hpb=7ba426116326af469bc8c73aae4fc1c56ebb3612;p=tpg%2Fopendispense2.git diff --git a/src/server/itemdb.c b/src/server/itemdb.c index dc188fd..8f2cfec 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); @@ -263,6 +269,8 @@ void Items_UpdateFile(void) int num; tHandler *handler; + trim(buffer); + lineNum ++; line_items[lineNum-1] = -1; line_comments[lineNum-1] = NULL; @@ -326,7 +334,8 @@ void Items_UpdateFile(void) fclose(fp); - fp = fopen("items.cfg.new", "w"); // DEBUG: Don't kill the real item file until debugged + //fp = fopen("items.cfg.new", "w"); // DEBUG: Don't kill the real item file until debugged + fp = fopen(gsItemListFile, "w"); // Create new file { @@ -342,8 +351,11 @@ void Items_UpdateFile(void) if( done_items[ line_items[i] ] ) { fprintf(fp, "; DUP -"); } - done_items[ line_items[i] ] = 1; + + if( item->bHidden ) + fprintf(fp, "-"); + fprintf(fp, "%s\t%i\t%i\t%s\t", item->Handler->Name, item->ID, item->Price, item->Name ); @@ -363,6 +375,9 @@ void Items_UpdateFile(void) tItem *item = &gaItems[i]; if( done_items[i] ) continue ; + if( item->bHidden ) + fprintf(fp, "-"); + fprintf(fp, "%s\t%i\t%i\t%s\n", item->Handler->Name, item->ID, item->Price, item->Name );