X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Fopendispense2.git;a=blobdiff_plain;f=src%2Fcokebank_basic%2Fmain.c;h=e635b916ed2b4e08fbfc00eef8c7ad50955e233e;hp=fbc8f6e40fab4013399eeeebdd701815fcab61cf;hb=41582cb84bded83614e11b1c115deea13e1914cc;hpb=05918a67e8509a2b2df6509039a801affd3444eb diff --git a/src/cokebank_basic/main.c b/src/cokebank_basic/main.c index fbc8f6e..e635b91 100644 --- a/src/cokebank_basic/main.c +++ b/src/cokebank_basic/main.c @@ -11,10 +11,9 @@ #include #include #include +#include #include "common.h" -#define HACK_TPG_NOAUTH 1 - // === IMPORTS === extern int Bank_GetMinAllowedBalance(int ID); extern int Bank_GetUserBalance(int ID); @@ -34,6 +33,9 @@ char *GetUserName(int User); int GetUserID(const char *Username); int GetUserAuth(const char *Username, const char *Password); +// === GLOBALS === +FILE *gBank_LogFile; + // === CODE === /** * \brief Load the cokebank database @@ -48,6 +50,9 @@ void Init_Cokebank(const char *Argument) perror("Opening coke bank"); } + gBank_LogFile = fopen("cokebank.log", "a"); + if( !gBank_LogFile ) gBank_LogFile = stdout; + fseek(gBank_File, 0, SEEK_END); giBank_NumUsers = ftell(gBank_File) / sizeof(gaBank_Users[0]); fseek(gBank_File, 0, SEEK_SET); @@ -65,12 +70,16 @@ void Init_Cokebank(const char *Argument) */ int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason) { - if( Bank_GetUserBalance(SourceUser) - Ammount < Bank_GetMinAllowedBalance(SourceUser) ) + int srcBal = Bank_GetUserBalance(SourceUser); + int dstBal = Bank_GetUserBalance(DestUser); + if( srcBal - Ammount < Bank_GetMinAllowedBalance(SourceUser) ) return 1; - if( Bank_GetUserBalance(DestUser) + Ammount < Bank_GetMinAllowedBalance(DestUser) ) + if( dstBal + Ammount < Bank_GetMinAllowedBalance(DestUser) ) return 1; Bank_AlterUserBalance(DestUser, Ammount); Bank_AlterUserBalance(SourceUser, -Ammount); + fprintf(gBank_LogFile, "ACCT #%i{%i} -= %ic [to #%i] (%s)\n", SourceUser, srcBal, Ammount, DestUser, Reason); + fprintf(gBank_LogFile, "ACCT #%i{%i} += %ic [from #%i] (%s)\n", DestUser, dstBal, Ammount, SourceUser, Reason); return 0; } @@ -79,7 +88,7 @@ int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason) */ int GetBalance(int User) { - return 0; + return Bank_GetUserBalance(User);; } /** @@ -132,16 +141,3 @@ int GetUserID(const char *Username) return ret; } -/** - * \brief Authenticate a user - * \return User ID, or -1 if authentication failed - */ -int GetUserAuth(const char *Username, const char *Password) -{ - #if HACK_TPG_NOAUTH - if( strcmp(Username, "tpg") == 0 ) - return GetUserID("tpg"); - #endif - return -1; -} -