git.ucc.asn.au
/
tpg
/
opendispense2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanups of bugs and segfaults
[tpg/opendispense2.git]
/
src
/
cokebank_basic
/
bank.c
diff --git
a/src/cokebank_basic/bank.c
b/src/cokebank_basic/bank.c
index
c9aa6b3
..
cc09fa5
100644
(file)
--- a/
src/cokebank_basic/bank.c
+++ b/
src/cokebank_basic/bank.c
@@
-9,18
+9,27
@@
* for full details.
*/
#include <stdio.h>
* for full details.
*/
#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include "common.h"
enum {
FLAG_TYPEMASK = 0x03,
enum {
FLAG_TYPEMASK = 0x03,
- USER_
FLAG
_NORMAL = 0x00,
- USER_
FLAG
_COKE = 0x01,
- USER_
FLAG
_WHEEL = 0x02,
- USER_
FLAG
_GOD = 0x03
+ USER_
TYPE
_NORMAL = 0x00,
+ USER_
TYPE
_COKE = 0x01,
+ USER_
TYPE
_WHEEL = 0x02,
+ USER_
TYPE
_GOD = 0x03
};
};
+// === GLOBALS ===
+tUser *gaBank_Users;
+ int giBank_NumUsers;
+FILE *gBank_File;
+
// === CODE ===
// === CODE ===
-int Bank_GetUserByUnixID(int Unix
U
ID)
+int Bank_GetUserByUnixID(int UnixID)
{
{
+ int i;
// Expensive search :(
for( i = 0; i < giBank_NumUsers; i ++ )
{
// Expensive search :(
for( i = 0; i < giBank_NumUsers; i ++ )
{
@@
-86,6
+95,14
@@
int Bank_GetMinAllowedBalance(int ID)
}
}
}
}
+int Bank_GetUserUnixID(int ID)
+{
+ if( ID < 0 || ID >= giBank_NumUsers )
+ return -1;
+
+ return gaBank_Users[ID].UnixID;
+}
+
/**
* \brief Create a new user in our database
*/
/**
* \brief Create a new user in our database
*/
@@
-105,7
+122,7
@@
int Bank_AddUser(int UnixID)
// Commit to file
fseek(gBank_File, giBank_NumUsers*sizeof(gaBank_Users[0]), SEEK_SET);
// 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);
+ fwrite(
&
gaBank_Users[giBank_NumUsers], sizeof(gaBank_Users[0]), 1, gBank_File);
// Increment count
giBank_NumUsers ++;
// Increment count
giBank_NumUsers ++;
UCC
git Repository :: git.ucc.asn.au