Merge "[Feature][task-view-564][FOTA] add full fota from ftp for zhenkang" into ZK-first-oem-release
diff --git a/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c b/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c
index c5af602..308fba5 100755
--- a/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c
+++ b/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c
@@ -555,17 +555,28 @@
return ;
}
-void get_delta_mtd(char *delta_mtd)
+int get_delta_mtd(char *delta_mtd)
{
FILE *fp;
- char mtd_buffer[8];
+ char mtd_buffer[16] = {0};
fp = popen("cat /proc/mtd|grep delta|awk '{print $1}'","r");
+ if(fp == NULL)
+ {
+ RLOGD("get_delta_mtd popen fail\n");
+ return -1;
+ }
fgets(mtd_buffer, sizeof(mtd_buffer), fp);
+ if(strlen(mtd_buffer) == 0)
+ {
+ RLOGD("get delta mtd fail\n");
+ pclose(fp);
+ return -1;
+ }
delete_enter(mtd_buffer);
sprintf(delta_mtd,"/dev/%s", mtd_buffer);
RLOGD("delta_mtd:%s\n", delta_mtd);
pclose(fp);
- return;
+ return 0;
}
int get_file_size(void)
@@ -602,7 +613,6 @@
return 0;
}
-
static int init_dev_fd()
{
@@ -617,7 +627,11 @@
return E_ROCK_FOTA_ADDR;
}
RLOGD("+[UA]: get fota pack addr: %s\n",lynq_fota_addr);
- get_delta_mtd(g_delta_mtd);
+ ret = get_delta_mtd(g_delta_mtd);
+ if(ret != 0)
+ {
+ return -1;
+ }
if(!(strcmp(lynq_fota_addr, "/tmp/fota.delta")))
{
ret = get_file_size();
@@ -716,14 +730,14 @@
char delta_data[ROCK_DEFAULT_BLOCK_SIZE];
char lynq_fota_addr[64];
fd_source = open(source,O_RDONLY);
-
+
if (fd_source < 0) {
RLOGD("+[UA]: open source error\n");
return 1;
}
fd_target = mtk_device_wrap_open(target,O_RDWR);
-
+
if (fd_target < 0) {
mtk_device_wrap_close(fd_target);
close(fd_source);