aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/db.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-04 08:35:11 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-13 13:44:54 +0200
commit7634ec1de178f8bf0459973b0e863a6dc9949762 (patch)
tree3191458c92dd10b74e193218d8f499fcc8edebc3 /openbsc/src/libmsc/db.c
parent0c48fc7c62e947f2934f7bfe10f2d01cbc0349c1 (diff)
db: Remove the struct gsm_network from the database layer
The database code should not know about the network. Move the setting of the network pointer into the subscriber layer.
Diffstat (limited to 'openbsc/src/libmsc/db.c')
-rw-r--r--openbsc/src/libmsc/db.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c
index 9a8cd886b..d179c4e23 100644
--- a/openbsc/src/libmsc/db.c
+++ b/openbsc/src/libmsc/db.c
@@ -315,13 +315,13 @@ int db_fini(void)
return 0;
}
-struct gsm_subscriber *db_create_subscriber(struct gsm_network *net, char *imsi)
+struct gsm_subscriber *db_create_subscriber(const char *imsi)
{
dbi_result result;
struct gsm_subscriber *subscr;
/* Is this subscriber known in the db? */
- subscr = db_get_subscriber(net, GSM_SUBSCRIBER_IMSI, imsi);
+ subscr = db_get_subscriber(GSM_SUBSCRIBER_IMSI, imsi);
if (subscr) {
result = dbi_conn_queryf(conn,
"UPDATE Subscriber set updated = datetime('now') "
@@ -346,7 +346,6 @@ struct gsm_subscriber *db_create_subscriber(struct gsm_network *net, char *imsi)
);
if (!result)
LOGP(DDB, LOGL_ERROR, "Failed to create Subscriber by IMSI.\n");
- subscr->net = net;
subscr->id = dbi_conn_sequence_last(conn, NULL);
strncpy(subscr->imsi, imsi, GSM_IMSI_LENGTH-1);
dbi_result_free(result);
@@ -645,8 +644,7 @@ static void db_set_from_query(struct gsm_subscriber *subscr, dbi_conn result)
}
#define BASE_QUERY "SELECT * FROM Subscriber "
-struct gsm_subscriber *db_get_subscriber(struct gsm_network *net,
- enum gsm_subscriber_field field,
+struct gsm_subscriber *db_get_subscriber(enum gsm_subscriber_field field,
const char *id)
{
dbi_result result;
@@ -704,7 +702,6 @@ struct gsm_subscriber *db_get_subscriber(struct gsm_network *net,
}
subscr = subscr_alloc();
- subscr->net = net;
subscr->id = dbi_result_get_ulonglong(result, "id");
db_set_from_query(subscr, result);