diff --git a/proto.txt b/proto.txt index b45d7a6032877029d737b0f273e42c73d4b6549b..2565ad09b75b718935916f4933ff604abb516b9e 100644 --- a/proto.txt +++ b/proto.txt @@ -58,7 +58,10 @@ c ITEM_INFO <item_id>\n s 202 Item <item_id> <price> <description>\n --- Get Users' Balances --- c ENUM_USERS[ <max balance>]\n -s 201 Users <count> <username>:<balance>:<flags> <username>:<balance>:<flags> ...\n +s 201 Users <count>\n +s 202 User <username> <balance> <flags>\n + ... +s 200 List End --- Get a User's Balance --- c USER_INFO\n s 202 User <username> <balance> <flags>\n diff --git a/src/cokebank_basic/bank.c b/src/cokebank_basic/bank.c index 07b8271218f2aba8c6a2ba5b7e2b64109151b182..1b356e75cdfb1599e6042c9dc2f5fe80f4c13ee0 100644 --- a/src/cokebank_basic/bank.c +++ b/src/cokebank_basic/bank.c @@ -56,6 +56,14 @@ int Bank_GetUserBalance(int ID) return gaBank_Users[ID].Balance; } +int Bank_GetUserFlags(int ID) +{ + if( ID < 0 || ID >= giBank_NumUsers ) + return INT_MIN; + + return gaBank_Users[ID].Flags; +} + int Bank_AlterUserBalance(int ID, int Delta) { // Sanity @@ -93,6 +101,8 @@ int Bank_GetMinAllowedBalance(int ID) if( ID < 0 || ID >= giBank_NumUsers ) return 0; +// printf("gaBank_Users[%i].Flags = 0x%x\n", ID, gaBank_Users[ID].Flags); + switch( gaBank_Users[ID].Flags & FLAG_TYPEMASK ) { case USER_TYPE_NORMAL: return 0; diff --git a/src/cokebank_basic/common.h b/src/cokebank_basic/common.h index fb1e3e9c15869ea611ddef6be854dfbba2503849..ce6854fe83972e5c8e7e687e40ae881fa2ca44fd 100644 --- a/src/cokebank_basic/common.h +++ b/src/cokebank_basic/common.h @@ -21,6 +21,7 @@ extern int Bank_GetMinAllowedBalance(int ID); extern int Bank_GetUserBalance(int ID); extern int Bank_AlterUserBalance(int ID, int Delta); extern char *Bank_GetUserName(int ID); +extern int Bank_GetUserFlags(int ID); extern int Bank_GetUserByName(const char *Username); extern int Bank_AddUser(const char *Username); extern FILE *gBank_File; diff --git a/src/cokebank_basic/main.c b/src/cokebank_basic/main.c index 83c92be7e1b58e15632fe04e69dc02b4abd2bb6e..b8aba3f1926361b757bb30f2540e103df711176f 100644 --- a/src/cokebank_basic/main.c +++ b/src/cokebank_basic/main.c @@ -72,6 +72,11 @@ int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason) return 0; } +int GetFlags(int User) +{ + return Bank_GetUserFlags(User); +} + /** * \brief Get the balance of the passed user */ diff --git a/src/server/server.c b/src/server/server.c index 4549ff6134926a417cf41f2d28fef090d03cce3f..875dd0416a1797c36fbecdfdb2be086bbe975d67 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -559,7 +559,8 @@ char *Server_Cmd_ADD(tClient *Client, char *Args) // Parse ammount iAmmount = atoi(ammount); - if( iAmmount == 0 && ammount[0] != '0' ) return strdup("407 Invalid Argument, ammount must be > zero\n"); + if( iAmmount == 0 && ammount[0] != '0' ) + return strdup("407 Invalid Argument\n"); // Do give switch( DispenseAdd(uid, Client->UID, iAmmount, reason) )