X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Fopendispense2.git;a=blobdiff_plain;f=src%2Fcokebank_basic%2Fmain.c;h=e635b916ed2b4e08fbfc00eef8c7ad50955e233e;hp=ae111d4d88ecd2e226f6c118705247fc5771ecde;hb=41582cb84bded83614e11b1c115deea13e1914cc;hpb=d40b4a892a6b06e2ef0cb72e90ebf7b023577d03 diff --git a/src/cokebank_basic/main.c b/src/cokebank_basic/main.c index ae111d4..e635b91 100644 --- a/src/cokebank_basic/main.c +++ b/src/cokebank_basic/main.c @@ -33,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 @@ -47,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); @@ -64,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; }