Cleanup and Implementations
[tpg/opendispense2.git] / src / cokebank_basic / bank.c
index d78f90f..0f07a17 100644 (file)
@@ -24,7 +24,7 @@ enum {
 };
 
 // === PROTOTYPES ===
-static int     GetUnixID(const char *Name);
+static int     GetUnixID(const char *Username);
 
 // === GLOBALS ===
 tUser  *gaBank_Users;
@@ -32,13 +32,16 @@ tUser       *gaBank_Users;
 FILE   *gBank_File;
 
 // === CODE ===
-int Bank_GetUserByUnixID(int UnixID)
+int Bank_GetUserByName(const char *Username)
 {
-        int    i;
+        int    i, uid;
+       
+       uid = GetUnixID(Username);
+       
        // Expensive search :(
        for( i = 0; i < giBank_NumUsers; i ++ )
        {
-               if( gaBank_Users[i].UnixID == UnixID )
+               if( gaBank_Users[i].UnixID == uid )
                        return i;
        }
 
@@ -88,7 +91,7 @@ int Bank_SetUserBalance(int ID, int Value)
 int Bank_GetMinAllowedBalance(int ID)
 {
        if( ID < 0 || ID >= giBank_NumUsers )
-               return -1;
+               return 0;
 
        switch( gaBank_Users[ID].Flags & FLAG_TYPEMASK )
        {
@@ -118,6 +121,10 @@ int Bank_AddUser(const char *Username)
        gaBank_Users[giBank_NumUsers].Balance = 0;
        gaBank_Users[giBank_NumUsers].Flags = 0;
        
+       if( strcmp(Username, ">liability") == 0 ) {
+               gaBank_Users[giBank_NumUsers].Flags = USER_TYPE_GOD;    // No minium
+       }
+       
        // Commit to file
        fseek(gBank_File, giBank_NumUsers*sizeof(gaBank_Users[0]), SEEK_SET);
        fwrite(&gaBank_Users[giBank_NumUsers], sizeof(gaBank_Users[0]), 1, gBank_File);

UCC git Repository :: git.ucc.asn.au