Przeglądaj źródła

- Removed obsolete function declarations

Jan Janak 22 lat temu
rodzic
commit
fbd15b86a0
6 zmienionych plików z 57 dodań i 75 usunięć
  1. 46 19
      db/db.c
  2. 2 2
      db/db.h
  3. 0 3
      db/db_con.h
  4. 1 22
      db/db_res.h
  5. 0 8
      db/db_row.h
  6. 8 21
      db/db_val.h

+ 46 - 19
db/db.c

@@ -28,38 +28,65 @@
 
 #include "db.h"
 #include "../sr_module.h"
+#include "../mem/mem.h"
 
 db_func_t dbf;
 
 
-int bind_dbmod(void)
+int bind_dbmod(char* mod)
 {
-	db_use_table = (db_use_table_f)find_export("db_use_table", 2, 0);
-	if (db_use_table == 0) return -1;
+	char* tmp, *p;
+	int len;
 
-	db_init = (db_init_f)find_export("db_init", 1, 0);
-	if (db_init == 0) return -1;
+	if (!mod) {
+		LOG(L_ERR, "bind_dbmod(): Invalid database module name\n");
+		return -1;
+	}
 
-	db_close = (db_close_f)find_export("db_close", 2, 0);
-	if (db_close == 0) return -1;
+	p = strchr(mod, ':');
+	if (p) {
+		len = p - mod;
+		tmp = (char*)pkg_malloc(len + 1);
+		if (!tmp) {
+			LOG(L_ERR, "bind_dbmod(): No memory left\n");
+			return -1;
+		}
+		memcpy(tmp, mod, len);
+		tmp[len] = '\0';
+	} else {
+		tmp = mod;
+	}
 
-	db_query = (db_query_f)find_export("db_query", 2, 0);
-	if (db_query == 0) return -1;
+	db_use_table = (db_use_table_f)find_mod_export(tmp, "db_use_table", 2, 0);
+	if (db_use_table == 0) goto err;
 
-	db_raw_query = (db_raw_query_f)find_export("db_raw_query", 2, 0);
-	if (db_raw_query == 0) return -1;
+	db_init = (db_init_f)find_mod_export(tmp, "db_init", 1, 0);
+	if (db_init == 0) goto err;
 
-	db_free_query = (db_free_query_f)find_export("db_free_query", 2, 0);
-	if (db_free_query == 0) return -1;
+	db_close = (db_close_f)find_mod_export(tmp, "db_close", 2, 0);
+	if (db_close == 0) goto err;
 
-	db_insert = (db_insert_f)find_export("db_insert", 2, 0);
-	if (db_insert == 0) return -1;
+	db_query = (db_query_f)find_mod_export(tmp, "db_query", 2, 0);
+	if (db_query == 0) goto err;
 
-	db_delete = (db_delete_f)find_export("db_delete", 2, 0);
-	if (db_delete == 0) return -1;
+	db_raw_query = (db_raw_query_f)find_mod_export(tmp, "db_raw_query", 2, 0);
+	if (db_raw_query == 0) goto err;
 
-	db_update = (db_update_f)find_export("db_update", 2, 0);
-	if (db_update == 0) return -1;
+	db_free_query = (db_free_query_f)find_mod_export(tmp, "db_free_query", 2, 0);
+	if (db_free_query == 0) goto err;
+
+	db_insert = (db_insert_f)find_mod_export(tmp, "db_insert", 2, 0);
+	if (db_insert == 0) goto err;
+
+	db_delete = (db_delete_f)find_mod_export(tmp, "db_delete", 2, 0);
+	if (db_delete == 0) goto err;
+
+	db_update = (db_update_f)find_mod_export(tmp, "db_update", 2, 0);
+	if (db_update == 0) goto err;
 
 	return 0;
+
+ err:
+	if (tmp != mod) pkg_free(tmp);
+	return -1;
 }

+ 2 - 2
db/db.h

@@ -128,7 +128,7 @@ typedef int (*db_update_f) (db_con_t* _h, db_key_t* _k, db_op_t* _o, db_val_t* _
 
 
 
-typedef struct db_func{
+typedef struct db_func {
 	db_use_table_f  use_table;   /* Specify table name */
 	db_init_f       init;        /* Initialize dabase connection */
 	db_close_f      close;       /* Close database connection */
@@ -161,7 +161,7 @@ extern db_func_t dbf;
 #define db_update     (dbf.update)
 
 
-int bind_dbmod(void);
+int bind_dbmod(char* mod);
  
 
 #endif /* DB_H */

+ 0 - 3
db/db_con.h

@@ -49,7 +49,4 @@ typedef struct {
 #define CON_TAIL(cn)       ((cn)->tail)
 
 
-int use_table(db_con_t* _h, const char* _t);
-
-
 #endif /* DB_CON_H */

+ 1 - 22
db/db_res.h

@@ -29,13 +29,10 @@
 #ifndef DB_RES_H
 #define DB_RES_H
 
+
 #include "db_row.h"
 #include "db_key.h"
 #include "db_val.h"
-#include "db_con.h"
-
-
-struct db_row;
 
 
 typedef struct db_res {
@@ -56,22 +53,4 @@ typedef struct db_res {
 #define RES_ROW_N(re) ((re)->n)
 
 
-/*
- * Create a new result structure 
- */
-db_res_t* new_result(void);
-
-
-/*
- * Fill the structure with data from database
- */
-int convert_result(db_con_t* _h, db_res_t* _r);
-
-
-/*
- * Free all memory allocated by the structure
- */
-int free_result(db_res_t* _r);
-
-
 #endif /* DB_RES_H */

+ 0 - 8
db/db_row.h

@@ -30,12 +30,8 @@
 #define DB_ROW_H
 
 #include "db_val.h"
-#include "db_con.h"
-#include "db_res.h"
 
 
-struct db_res;
-
 /*
  * Structure holding result of query_table function (ie. table row)
  */
@@ -49,8 +45,4 @@ typedef struct db_row {
 #define ROW_N(rw)      ((rw)->n)
 
 
-int convert_row(db_con_t* _h, struct db_res* _res, db_row_t* _r);
-int free_row(db_row_t* _r);
-
-
 #endif /* DB_ROW_H */

+ 8 - 21
db/db_val.h

@@ -34,16 +34,16 @@
 
 
 /*
- * Accepted column types
+ * Accepted value types
  */
 typedef enum {
-	DB_INT,
-        DB_DOUBLE,
-	DB_STRING,
-	DB_STR,
-	DB_DATETIME,
-	DB_BLOB,
-	DB_BITMAP
+	DB_INT,        /* 32-bit integer */
+        DB_DOUBLE,     /* double data type */
+	DB_STRING,     /* Zero-terminated string */
+	DB_STR,        /* str structure */
+	DB_DATETIME,   /* Date and time */
+	DB_BLOB,       /* Large binary object */
+	DB_BITMAP      /* Bitmap of flags */
 } db_type_t;
 
 
@@ -70,7 +70,6 @@ typedef struct {
 /*
  * Useful macros for accessing attributes of db_val structure
  */
-
 #define VAL_TYPE(dv)   ((dv)->type)
 #define VAL_NULL(dv)   ((dv)->nul)
 #define VAL_INT(dv)    ((dv)->val.int_val)
@@ -82,16 +81,4 @@ typedef struct {
 #define VAL_BITMAP(dv) ((dv)->val.bitmap_val)
 
 
-/*
- * Convert string to given type
- */
-int str2val(db_type_t _t, db_val_t* _v, const char* _s, int _l);
-
-
-/*
- * Convert given type to string
- */
-int val2str(db_val_t* _v, char* _s, int* _len);
-
-
 #endif /* DB_VAL_H */