- reason = mkstr("Dispense - %s:%i %s", handler->Name, Item->ID, Item->Name);
- if( !reason ) reason = Item->Name; // TODO: Should I instead return an error?
- ret = _Transfer( User, Bank_GetAcctByName(COKEBANK_SALES_ACCT), Item->Price, reason);
- free(reason);
- if(ret) return 2; // 2: No balance
+ if( Item->Price )
+ {
+ reason = mkstr("Dispense - %s:%i %s", handler->Name, Item->ID, Item->Name);
+ if( !reason ) reason = Item->Name; // TODO: Should I instead return an error?
+ ret = _Transfer( User, Bank_GetAcctByName(COKEBANK_SALES_ACCT), Item->Price, reason);
+ free(reason);
+ if(ret) return 2; // 2: No balance
+ }