From b115cb66554a9ba53b89f957438d6540671bca0c Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 3 Jul 2014 14:00:30 +0200 Subject: db: Use ulonglong to access the database for sqlite3 The type in the schema is integer but we need to use ulonglong to read it as otherwise the read will fail. DBI: -7: The requested variable type does not match what libdbi thinks it should be --- openbsc/src/libmsc/db.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c index 90c66c88f..7e2309d74 100644 --- a/openbsc/src/libmsc/db.c +++ b/openbsc/src/libmsc/db.c @@ -239,11 +239,11 @@ static struct gsm_sms *sms_from_result_v3(dbi_result result) subscr_direct_free(sender); sender = NULL; - sms->reply_path_req = dbi_result_get_uint(result, "reply_path_req"); - sms->status_rep_req = dbi_result_get_uint(result, "status_rep_req"); - sms->ud_hdr_ind = dbi_result_get_uint(result, "ud_hdr_ind"); - sms->protocol_id = dbi_result_get_uint(result, "protocol_id"); - sms->data_coding_scheme = dbi_result_get_uint(result, + sms->reply_path_req = dbi_result_get_ulonglong(result, "reply_path_req"); + sms->status_rep_req = dbi_result_get_ulonglong(result, "status_rep_req"); + sms->ud_hdr_ind = dbi_result_get_ulonglong(result, "ud_hdr_ind"); + sms->protocol_id = dbi_result_get_ulonglong(result, "protocol_id"); + sms->data_coding_scheme = dbi_result_get_ulonglong(result, "data_coding_scheme"); daddr = dbi_result_get_string(result, "dest_addr"); @@ -1454,16 +1454,16 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul /* FIXME: validity */ /* FIXME: those should all be get_uchar, but sqlite3 is braindead */ - sms->reply_path_req = dbi_result_get_uint(result, "reply_path_req"); - sms->status_rep_req = dbi_result_get_uint(result, "status_rep_req"); - sms->ud_hdr_ind = dbi_result_get_uint(result, "ud_hdr_ind"); - sms->protocol_id = dbi_result_get_uint(result, "protocol_id"); - sms->data_coding_scheme = dbi_result_get_uint(result, + sms->reply_path_req = dbi_result_get_ulonglong(result, "reply_path_req"); + sms->status_rep_req = dbi_result_get_ulonglong(result, "status_rep_req"); + sms->ud_hdr_ind = dbi_result_get_ulonglong(result, "ud_hdr_ind"); + sms->protocol_id = dbi_result_get_ulonglong(result, "protocol_id"); + sms->data_coding_scheme = dbi_result_get_ulonglong(result, "data_coding_scheme"); /* sms->msg_ref is temporary and not stored in DB */ - sms->dst.npi = dbi_result_get_uint(result, "dest_npi"); - sms->dst.ton = dbi_result_get_uint(result, "dest_ton"); + sms->dst.npi = dbi_result_get_ulonglong(result, "dest_npi"); + sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton"); daddr = dbi_result_get_string(result, "dest_addr"); if (daddr) { strncpy(sms->dst.addr, daddr, sizeof(sms->dst.addr)); @@ -1471,8 +1471,8 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul } sms->receiver = subscr_get_by_extension(net, sms->dst.addr); - sms->src.npi = dbi_result_get_uint(result, "src_npi"); - sms->src.ton = dbi_result_get_uint(result, "src_ton"); + sms->src.npi = dbi_result_get_ulonglong(result, "src_npi"); + sms->src.ton = dbi_result_get_ulonglong(result, "src_ton"); saddr = dbi_result_get_string(result, "src_addr"); if (saddr) { strncpy(sms->src.addr, saddr, sizeof(sms->src.addr)); -- cgit v1.2.3