summaryrefslogtreecommitdiff
path: root/src/common/db.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/db.c')
-rw-r--r--src/common/db.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/common/db.c b/src/common/db.c
index 77d3b7b2e..07adf73f1 100644
--- a/src/common/db.c
+++ b/src/common/db.c
@@ -107,6 +107,16 @@
#define HASH_SIZE (256+27)
/**
+ * The color of individual nodes.
+ * @private
+ * @see struct dbn
+ */
+typedef enum node_color {
+ RED,
+ BLACK
+} node_color;
+
+/**
* A node in a RED-BLACK tree of the database.
* @param parent Parent node
* @param left Left child node
@@ -127,7 +137,7 @@ typedef struct dbn {
DBKey key;
void *data;
// Other
- enum {RED, BLACK} color;
+ node_color color;
unsigned deleted : 1;
} *DBNode;
@@ -503,7 +513,7 @@ static void db_rebalance_erase(DBNode node, DBNode *root)
y->parent = node->parent;
// switch colors
{
- int tmp = y->color;
+ node_color tmp = y->color;
y->color = node->color;
node->color = tmp;
}
@@ -2112,7 +2122,7 @@ static DBType db_obj_type(DBMap* self)
DBType type;
DB_COUNTSTAT(db_type);
- if (db == NULL) return -1; // nullpo candidate - TODO what should this return?
+ if (db == NULL) return (DBType)-1; // nullpo candidate - TODO what should this return?
db_free_lock(db);
type = db->type;
@@ -2176,7 +2186,7 @@ DBOptions db_fix_options(DBType type, DBOptions options)
switch (type) {
case DB_INT:
case DB_UINT: // Numeric database, do nothing with the keys
- return options&~(DB_OPT_DUP_KEY|DB_OPT_RELEASE_KEY);
+ return (DBOptions)(options&~(DB_OPT_DUP_KEY|DB_OPT_RELEASE_KEY));
default:
ShowError("db_fix_options: Unknown database type %u with options %x\n", type, options);
@@ -2512,10 +2522,11 @@ void db_final(void)
}
// Link DB System - jAthena
-void linkdb_insert( struct linkdb_node** head, void *key, void* data) {
+void linkdb_insert( struct linkdb_node** head, void *key, void* data)
+{
struct linkdb_node *node;
if( head == NULL ) return ;
- node = aMalloc( sizeof(struct linkdb_node) );
+ node = (struct linkdb_node*)aMalloc( sizeof(struct linkdb_node) );
if( *head == NULL ) {
// first node
*head = node;
@@ -2532,7 +2543,8 @@ void linkdb_insert( struct linkdb_node** head, void *key, void* data) {
node->data = data;
}
-void* linkdb_search( struct linkdb_node** head, void *key) {
+void* linkdb_search( struct linkdb_node** head, void *key)
+{
int n = 0;
struct linkdb_node *node;
if( head == NULL ) return NULL;
@@ -2556,7 +2568,8 @@ void* linkdb_search( struct linkdb_node** head, void *key) {
return NULL;
}
-void* linkdb_erase( struct linkdb_node** head, void *key) {
+void* linkdb_erase( struct linkdb_node** head, void *key)
+{
struct linkdb_node *node;
if( head == NULL ) return NULL;
node = *head;
@@ -2577,7 +2590,8 @@ void* linkdb_erase( struct linkdb_node** head, void *key) {
return NULL;
}
-void linkdb_replace( struct linkdb_node** head, void *key, void *data ) {
+void linkdb_replace( struct linkdb_node** head, void *key, void *data )
+{
int n = 0;
struct linkdb_node *node;
if( head == NULL ) return ;
@@ -2603,7 +2617,8 @@ void linkdb_replace( struct linkdb_node** head, void *key, void *data ) {
linkdb_insert( head, key, data );
}
-void linkdb_final( struct linkdb_node** head ) {
+void linkdb_final( struct linkdb_node** head )
+{
struct linkdb_node *node, *node2;
if( head == NULL ) return ;
node = *head;