summaryrefslogtreecommitdiff
path: root/src/sms_delete.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sms_delete.c')
-rw-r--r--src/sms_delete.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/sms_delete.c b/src/sms_delete.c
index b45546e..48afc06 100644
--- a/src/sms_delete.c
+++ b/src/sms_delete.c
@@ -141,6 +141,8 @@ int sms_delete(int argc, char **argv)
int option_index;
int ret;
int fd;
+ int ret_3gpp = false;
+ int ret_3gpp2 = false;
while ((i = getopt_long(argc, argv, short_options, long_options, &option_index)) >= 0) {
switch (i) {
@@ -165,7 +167,23 @@ int sms_delete(int argc, char **argv)
return false;
}
- ret = do_delete(fd, argc, argv);
+ // LNA7 with Verizon SIM SMS 3GPP, 3GPP2 WORKAROUND
+ if (is_vzw_lna7()) {
+ int tmp;
+ tmp = atcmd_plus_qcfg_write(fd, SMS_FORMAT_3GPP);
+ if (tmp == 0) {
+ ret_3gpp = do_delete(fd, argc, argv);
+ }
+
+ tmp = atcmd_plus_qcfg_write(fd, SMS_FORMAT_3GPP2);
+ if (tmp == 0) {
+ ret_3gpp2 = do_delete(fd, argc, argv);
+ }
+
+ ret = (ret_3gpp || ret_3gpp2);
+ } else {
+ ret = do_delete(fd, argc, argv);
+ }
sms_device_close(fd);