Misc changes - Fixed coke, shut up boot, fixed disabled users dispensing
[tpg/opendispense2.git] / src / server / dispense.c
index 8375ab6..b0a5936 100644 (file)
@@ -50,7 +50,7 @@ int DispenseItem(int ActualUser, int User, tItem *Item)
                ret = handler->DoDispense( User, Item->ID );
                if(ret) {
                        Log_Error("Dispense failed (%s dispensing %s:%i '%s')",
-                               username, Item->Name, Item->Handler->Name, Item->ID);
+                               username, Item->Handler->Name, Item->ID, Item->Name);
                        free( username );
                        return -1;      // 1: Unknown Error again
                }
@@ -120,6 +120,10 @@ int DispenseGive(int ActualUser, int SrcUser, int DestUser, int Ammount, const c
        char    *actualUsername;
        char    *srcName, *dstName;
        
+       // HACK: Naming a slot "dead" disables it (catch for snack)
+       if( strcmp(ReasonGiven, "dead") == 0 )
+               return 1;
+       
        if( Ammount < 0 )       return 1;       // Um... negative give? Not on my watch!
        
        ret = _Transfer( SrcUser, DestUser, Ammount, ReasonGiven );
@@ -315,9 +319,12 @@ int _GetMinBalance(int Account)
 
 /**
  * \brief Check if a transfer is possible
+ * \return Boolean success
  */
 int _CanTransfer(int Source, int Destination, int Ammount)
 {
+       if( Bank_GetFlags(Source) & USER_FLAG_DISABLED )
+               return 0;
        if( Ammount > 0 )
        {
                if( Bank_GetBalance(Source) - Ammount < _GetMinBalance(Source) )

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