Misc changes - Fixed coke, shut up boot, fixed disabled users dispensing
[tpg/opendispense2.git] / src / server / itemdb.c
index dc188fd..8f2cfec 100644 (file)
@@ -16,6 +16,8 @@
 #include <sys/stat.h>
 #include <time.h>
 
+#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
                                );

UCC git Repository :: git.ucc.asn.au