Fixed Call Barring PWD change
authorPrasanth Kammampati <prasanth.k@samsung.com>
Thu, 6 Sep 2012 13:17:49 +0000 (18:47 +0530)
committerPrasanth Kammampati <prasanth.k@samsung.com>
Thu, 6 Sep 2012 13:43:48 +0000 (19:13 +0530)
Fix for Generic SIM access
Change-Id: I30d3cc3c7d22a08922514ae1b3e8d08c4b45f339

packaging/tel-plugin-imc.spec
src/s_sim.c
src/s_ss.c

index ff7e335..0b9c230 100755 (executable)
@@ -2,7 +2,7 @@
 Name:       tel-plugin-imc
 Summary:    imc plugin for telephony
 ExclusiveArch:  %{arm}
-Version:    0.1.12
+Version:    0.1.13
 Release:    1
 Group:      System/Libraries
 License:    Apache
index 566cb61..07243de 100755 (executable)
@@ -3067,7 +3067,7 @@ static TReturn s_transmit_apdu(CoreObject *o, UserRequest *ur)
        memset(apdu, 0x00, (2 * req_data->apdu_length) + 1);
        result = util_byte_to_hex((const char *) req_data->apdu, apdu, req_data->apdu_length);
 
-       cmd_str = g_strdup_printf("AT+CSIM=%d,\"%s\"", req_data->apdu_length, apdu);
+       cmd_str = g_strdup_printf("AT+CSIM=%d,\"%s\"", req_data->apdu_length * 2, apdu);
 
        req = tcore_at_request_new(cmd_str, "+CSIM:", TCORE_AT_SINGLELINE);
 
index 07910ac..cb55818 100755 (executable)
@@ -1792,11 +1792,23 @@ static TReturn s_ss_barring_change_password(CoreObject *o, UserRequest *ur)
        struct ss_confirm_info *user_data = 0;
        char *cmd_str = NULL;
        gboolean ret = FALSE;
+       char old_password[MAX_SS_BARRING_PASSWORD_LEN + 1];
+       char new_password[MAX_SS_BARRING_PASSWORD_LEN + 1];
 
        dbg("function enter");
        barring = (struct treq_ss_barring_change_password *) tcore_user_request_ref_data(ur, 0);
 
-       cmd_str = g_strdup_printf("AT+CPWD=\"%s\",\"%s\",\"%s\"", "AB", barring->password_old, barring->password_new);
+       if (barring->password_old == NULL || barring->password_new == NULL) {
+               dbg("[error]password is null");
+               return TCORE_RETURN_FAILURE;
+       }
+       memcpy(old_password, barring->password_old, MAX_SS_BARRING_PASSWORD_LEN);
+       old_password[MAX_SS_BARRING_PASSWORD_LEN] = '\0';
+       memcpy(new_password, barring->password_new, MAX_SS_BARRING_PASSWORD_LEN);
+       new_password[MAX_SS_BARRING_PASSWORD_LEN] = '\0';
+
+       dbg("old passwd - %s new passwd- %s", old_password, new_password);
+       cmd_str = g_strdup_printf("AT+CPWD=\"%s\",\"%s\",\"%s\"", "AB", old_password, new_password);
        dbg("request command : %s", cmd_str);
 
        hal = tcore_object_get_hal(o);