diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-07-13 12:42:58 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-07-14 15:45:05 -0500 |
commit | 9a565d88b1952f5771a1ae4ca80897eb9a302221 (patch) | |
tree | 61b4b0894b64c8a0181d856091293b2f354d0356 | |
parent | 38eebca61fb71f5ac26ea54e2f0c7c57c102f3db (diff) | |
download | ofono-9a565d88b1952f5771a1ae4ca80897eb9a302221.tar.bz2 |
Refactor sim_pnn_operator_parse
-rw-r--r-- | src/simutil.c | 13 | ||||
-rw-r--r-- | src/simutil.h | 3 |
2 files changed, 7 insertions, 9 deletions
diff --git a/src/simutil.c b/src/simutil.c index 0257c64c..253970bc 100644 --- a/src/simutil.c +++ b/src/simutil.c @@ -119,26 +119,25 @@ char *sim_network_name_parse(const unsigned char *buffer, int length, return ret; } -gboolean sim_pnn_operator_parse(struct sim_pnn_operator *oper, - const guint8 *tlv, int length) +struct sim_pnn_operator *sim_pnn_operator_parse(const guint8 *tlv, int length) { const char *name; int namelength; gboolean add_ci; + struct sim_pnn_operator *oper; name = ber_tlv_find_by_tag(tlv, 0x43, length, &namelength); if (!name || !namelength) - return FALSE; + return NULL; + + oper = g_new0(struct sim_pnn_operator, 1); oper->longname = sim_network_name_parse(name, namelength, &oper->long_ci); name = ber_tlv_find_by_tag(tlv, 0x45, length, &namelength); - oper->short_ci = FALSE; - oper->shortname = NULL; - if (name && namelength) oper->shortname = sim_network_name_parse(name, namelength, &oper->short_ci); @@ -148,7 +147,7 @@ gboolean sim_pnn_operator_parse(struct sim_pnn_operator *oper, if (name && namelength) oper->info = sim_string_to_utf8(name, namelength); - return TRUE; + return oper; } void sim_pnn_operator_free(struct sim_pnn_operator *oper) diff --git a/src/simutil.h b/src/simutil.h index ab34f7d5..92c956c7 100644 --- a/src/simutil.h +++ b/src/simutil.h @@ -44,5 +44,4 @@ const guint8 *ber_tlv_find_by_tag(const guint8 *pdu, guint8 in_tag, int in_len, int *out_len); char *sim_network_name_parse(const unsigned char *buffer, int length, gboolean *add_ci); -gboolean sim_pnn_operator_parse(struct sim_pnn_operator *oper, - const guint8 *tlv, int length); +struct sim_pnn_operator *sim_pnn_operator_parse(const guint8 *tlv, int length); |