summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denis.kenzior@intel.com>2009-08-31 14:33:24 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-08-31 15:12:37 -0500
commitefdf84b62c41b3b651e01149f3009315c857af63 (patch)
tree765989ee0d072dfd868ed2b88ea473a1975dc5a9
parenta96fde13622fe4408f5da452a4e9c7dfeea6415b (diff)
downloadofono-efdf84b62c41b3b651e01149f3009315c857af63.tar.bz2
Simplify nested ifs
-rw-r--r--src/simutil.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/simutil.c b/src/simutil.c
index a73f96b5..b80e014d 100644
--- a/src/simutil.c
+++ b/src/simutil.c
@@ -447,30 +447,30 @@ void sim_adn_build(unsigned char *data, int length,
const char *identifier)
{
int number_len = strlen(ph->number);
- unsigned char *gsm_identifier;
+ unsigned char *gsm_identifier = NULL;
long gsm_bytes;
+ long alpha_length;
+
+ alpha_length = length - 14;
/* Alpha-Identifier field */
- if (length > 14) {
- memset(data, 0xff, length - 14);
+ if (alpha_length > 0) {
+ memset(data, 0xff, alpha_length);
- if (identifier) {
- /* TODO: figure out when the identifier needs to
- * be encoded in UCS2 and do this.
- */
+ if (identifier)
gsm_identifier = convert_utf8_to_gsm(identifier,
-1, NULL, &gsm_bytes, 0);
- if (gsm_identifier) {
- if (gsm_bytes > length - 14)
- gsm_bytes = length - 14;
-
- memcpy(data, gsm_identifier, gsm_bytes);
- g_free(gsm_identifier);
- }
+ if (gsm_identifier) {
+ memcpy(data, gsm_identifier,
+ MIN(gsm_bytes, alpha_length));
+ g_free(gsm_identifier);
}
- data += length - 14;
+ /* TODO: figure out when the identifier needs to
+ * be encoded in UCS2 and do this.
+ */
+ data += alpha_length;
}
number_len = (number_len + 1) / 2;