X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Fopendispense2.git;a=blobdiff_plain;f=src%2Fcokebank_basic%2Fmain.c;h=e635b916ed2b4e08fbfc00eef8c7ad50955e233e;hp=11b822cc085948aec4901d512b3f663e959be60a;hb=41582cb84bded83614e11b1c115deea13e1914cc;hpb=650ed689f2d8c30fe9c448fbec0e58037cc2ce25 diff --git a/src/cokebank_basic/main.c b/src/cokebank_basic/main.c index 11b822c..e635b91 100644 --- a/src/cokebank_basic/main.c +++ b/src/cokebank_basic/main.c @@ -11,6 +11,7 @@ #include #include #include +#include #include "common.h" // === IMPORTS === @@ -32,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 @@ -46,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); @@ -63,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; } @@ -77,7 +88,7 @@ int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason) */ int GetBalance(int User) { - return 0; + return Bank_GetUserBalance(User);; } /** @@ -130,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; -} -