aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHarald Welte <laforge@netfilter.org>2009-12-24 11:21:42 +0100
committerHarald Welte <laforge@netfilter.org>2009-12-24 11:39:51 +0100
commit0b906d0e1a00c0568b3574cd91d8682be4c4a12b (patch)
tree370ae80af98b1fad637319af8b0f6badc541fc82 /openbsc
parent426da090dbfc61776ea20d57468e9509fa136339 (diff)
db: coding style cleanup
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/db.c104
1 files changed, 58 insertions, 46 deletions
diff --git a/openbsc/src/db.c b/openbsc/src/db.c
index 11fb4dd4e..3a261ac6d 100644
--- a/openbsc/src/db.c
+++ b/openbsc/src/db.c
@@ -139,8 +139,9 @@ static char *create_stmts[] = {
")",
};
-void db_error_func(dbi_conn conn, void* data) {
- const char* msg;
+void db_error_func(dbi_conn conn, void *data)
+{
+ const char *msg;
dbi_conn_error(conn, &msg);
printf("DBI: %s\n", msg);
}
@@ -169,10 +170,12 @@ static int check_db_revision(void)
return 0;
}
-int db_init(const char *name) {
+int db_init(const char *name)
+{
dbi_initialize(NULL);
+
conn = dbi_conn_new("sqlite3");
- if (conn==NULL) {
+ if (conn == NULL) {
printf("DB: Failed to create connection.\n");
return 1;
}
@@ -206,13 +209,14 @@ out_err:
}
-int db_prepare() {
+int db_prepare()
+{
dbi_result result;
int i;
for (i = 0; i < ARRAY_SIZE(create_stmts); i++) {
result = dbi_conn_query(conn, create_stmts[i]);
- if (result==NULL) {
+ if (!result) {
printf("DB: Failed to create some table.\n");
return 1;
}
@@ -228,7 +232,8 @@ int db_prepare() {
return 0;
}
-int db_fini() {
+int db_fini()
+{
dbi_conn_close(conn);
dbi_shutdown();
@@ -239,10 +244,10 @@ int db_fini() {
return 0;
}
-struct gsm_subscriber* db_create_subscriber(struct gsm_network *net, char *imsi)
+struct gsm_subscriber *db_create_subscriber(struct gsm_network *net, char *imsi)
{
dbi_result result;
- struct gsm_subscriber* subscr;
+ struct gsm_subscriber *subscr;
/* Is this subscriber known in the db? */
subscr = db_get_subscriber(net, GSM_SUBSCRIBER_IMSI, imsi);
@@ -250,11 +255,10 @@ struct gsm_subscriber* db_create_subscriber(struct gsm_network *net, char *imsi)
result = dbi_conn_queryf(conn,
"UPDATE Subscriber set updated = datetime('now') "
"WHERE imsi = %s " , imsi);
- if (result==NULL) {
+ if (!result)
printf("DB: failed to update timestamp\n");
- } else {
+ else
dbi_result_free(result);
- }
return subscr;
}
@@ -269,9 +273,8 @@ struct gsm_subscriber* db_create_subscriber(struct gsm_network *net, char *imsi)
"(%s, datetime('now'), datetime('now')) ",
imsi
);
- if (result==NULL) {
+ if (!result)
printf("DB: 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);
@@ -456,7 +459,7 @@ struct gsm_subscriber *db_get_subscriber(struct gsm_network *net,
printf("DB: Unknown query selector for Subscriber.\n");
return NULL;
}
- if (result==NULL) {
+ if (!result) {
printf("DB: Failed to query Subscriber.\n");
return NULL;
}
@@ -498,7 +501,8 @@ struct gsm_subscriber *db_get_subscriber(struct gsm_network *net,
return subscr;
}
-int db_sync_subscriber(struct gsm_subscriber* subscriber) {
+int db_sync_subscriber(struct gsm_subscriber *subscriber)
+{
dbi_result result;
char tmsi[14];
char *q_tmsi;
@@ -510,6 +514,7 @@ int db_sync_subscriber(struct gsm_subscriber* subscriber) {
&q_tmsi);
} else
q_tmsi = strdup("NULL");
+
result = dbi_conn_queryf(conn,
"UPDATE Subscriber "
"SET updated = datetime('now'), "
@@ -524,14 +529,17 @@ int db_sync_subscriber(struct gsm_subscriber* subscriber) {
subscriber->authorized,
q_tmsi,
subscriber->lac,
- subscriber->imsi
- );
+ subscriber->imsi);
+
free(q_tmsi);
- if (result==NULL) {
+
+ if (!result) {
printf("DB: Failed to update Subscriber (by IMSI).\n");
return 1;
}
+
dbi_result_free(result);
+
return 0;
}
@@ -578,10 +586,12 @@ int db_sync_equipment(struct gsm_equipment *equip)
return 0;
}
-int db_subscriber_alloc_tmsi(struct gsm_subscriber* subscriber) {
- dbi_result result=NULL;
+int db_subscriber_alloc_tmsi(struct gsm_subscriber *subscriber)
+{
+ dbi_result result = NULL;
char tmsi[14];
char* tmsi_quoted;
+
for (;;) {
subscriber->tmsi = rand();
if (subscriber->tmsi == GSM_RESERVED_TMSI)
@@ -592,14 +602,15 @@ int db_subscriber_alloc_tmsi(struct gsm_subscriber* subscriber) {
result = dbi_conn_queryf(conn,
"SELECT * FROM Subscriber "
"WHERE tmsi = %s ",
- tmsi_quoted
- );
+ tmsi_quoted);
+
free(tmsi_quoted);
- if (result==NULL) {
+
+ if (!result) {
printf("DB: Failed to query Subscriber while allocating new TMSI.\n");
return 1;
}
- if (dbi_result_get_numrows(result)){
+ if (dbi_result_get_numrows(result)) {
dbi_result_free(result);
continue;
}
@@ -613,9 +624,11 @@ int db_subscriber_alloc_tmsi(struct gsm_subscriber* subscriber) {
return 0;
}
-int db_subscriber_alloc_exten(struct gsm_subscriber* subscriber) {
- dbi_result result=NULL;
+int db_subscriber_alloc_exten(struct gsm_subscriber *subscriber)
+{
+ dbi_result result = NULL;
u_int32_t try;
+
for (;;) {
try = (rand()%(GSM_MAX_EXTEN-GSM_MIN_EXTEN+1)+GSM_MIN_EXTEN);
result = dbi_conn_queryf(conn,
@@ -623,7 +636,7 @@ int db_subscriber_alloc_exten(struct gsm_subscriber* subscriber) {
"WHERE extension = %i",
try
);
- if (result==NULL) {
+ if (!result) {
printf("DB: Failed to query Subscriber while allocating new extension.\n");
return 1;
}
@@ -647,7 +660,7 @@ int db_subscriber_alloc_exten(struct gsm_subscriber* subscriber) {
* an error.
*/
-int db_subscriber_alloc_token(struct gsm_subscriber* subscriber, u_int32_t* token)
+int db_subscriber_alloc_token(struct gsm_subscriber *subscriber, u_int32_t *token)
{
dbi_result result;
u_int32_t try;
@@ -691,7 +704,8 @@ int db_subscriber_alloc_token(struct gsm_subscriber* subscriber, u_int32_t* toke
return 0;
}
-int db_subscriber_assoc_imei(struct gsm_subscriber* subscriber, char imei[GSM_IMEI_LENGTH]) {
+int db_subscriber_assoc_imei(struct gsm_subscriber *subscriber, char imei[GSM_IMEI_LENGTH])
+{
unsigned long long equipment_id, watch_id;
dbi_result result;
@@ -703,27 +717,27 @@ int db_subscriber_assoc_imei(struct gsm_subscriber* subscriber, char imei[GSM_IM
"(imei, created, updated) "
"VALUES "
"(%s, datetime('now'), datetime('now')) ",
- imei
- );
- if (result==NULL) {
+ imei);
+ if (!result) {
printf("DB: Failed to create Equipment by IMEI.\n");
return 1;
}
+
equipment_id = 0;
if (dbi_result_get_numrows_affected(result)) {
equipment_id = dbi_conn_sequence_last(conn, NULL);
}
dbi_result_free(result);
- if (equipment_id) {
+
+ if (equipment_id)
printf("DB: New Equipment: ID %llu, IMEI %s\n", equipment_id, imei);
- }
else {
result = dbi_conn_queryf(conn,
"SELECT id FROM Equipment "
"WHERE imei = %s ",
imei
);
- if (result==NULL) {
+ if (!result) {
printf("DB: Failed to query Equipment by IMEI.\n");
return 1;
}
@@ -741,28 +755,26 @@ int db_subscriber_assoc_imei(struct gsm_subscriber* subscriber, char imei[GSM_IM
"(subscriber_id, equipment_id, created, updated) "
"VALUES "
"(%llu, %llu, datetime('now'), datetime('now')) ",
- subscriber->id, equipment_id
- );
- if (result==NULL) {
+ subscriber->id, equipment_id);
+ if (!result) {
printf("DB: Failed to create EquipmentWatch.\n");
return 1;
}
+
watch_id = 0;
- if (dbi_result_get_numrows_affected(result)) {
+ if (dbi_result_get_numrows_affected(result))
watch_id = dbi_conn_sequence_last(conn, NULL);
- }
+
dbi_result_free(result);
- if (watch_id) {
+ if (watch_id)
printf("DB: New EquipmentWatch: ID %llu, IMSI %s, IMEI %s\n", equipment_id, subscriber->imsi, imei);
- }
else {
result = dbi_conn_queryf(conn,
"UPDATE EquipmentWatch "
"SET updated = datetime('now') "
"WHERE subscriber_id = %llu AND equipment_id = %llu ",
- subscriber->id, equipment_id
- );
- if (result==NULL) {
+ subscriber->id, equipment_id);
+ if (!result) {
printf("DB: Failed to update EquipmentWatch.\n");
return 1;
}