if (local && (local->news) > 0) { //check if new files archive is present in the delta
char new_patch_path[MAX_FILE_PATH] = { 0, };
snprintf(new_patch_path, MAX_FILE_PATH, "%s%s", ua_dataSS->parti_info->ua_subject_name, SS_COMPRESSED_FILE);
- if (ua_dataSS->tar_data->new_files_info.offset <= 0) {
+ if (ua_dataSS->tar_data->new_files_info.offset < 0) {
SS_SetUpgradeState(E_SS_FSFAILEDTOPARSEDELTAINFO);
LOGE("New files not present in Patch and they should be\n");
retval = E_SS_FAILURE;
{
LOGL(LOG_SSENGINE, "NEWFILES mode start\n");
LOGL(LOG_SSENGINE, "Starting New file upgrade for [%s]\n", patch_path);
- if (ua_dataSS->tar_data->new_files_info.offset > 0) {
+ if (ua_dataSS->tar_data->new_files_info.offset >= 0) {
if (tar_extract_7z_file(ua_dataSS->tar_data) < 0) {
LOGE("newfiles extraction error!\n");
ulResult = E_SS_FAILURE;
static int tar_verify_and_extract_text(tar_info *tar_data, char *pathname, off_t last_seek)
{
if (strcmp(tar_data->new_files_info.item_name, pathname) == 0) {
- if (tar_data->new_files_info.offset > 0) {
+ if (tar_data->new_files_info.offset >= 0) {
LOGE("Dupicate file found in delta!\n");
return -1;
}
s_tar_data.subject_offset = 0;
s_tar_data.uncompressed_folder_size = 0;
- s_new_files_info.offset = 0;
+ s_new_files_info.offset = -1;
snprintf(s_new_files_info.item_name, MAX_FILE_PATH, "%s%s", s_tar_data.subject_name, SS_NEW_COMPRESSED_FILE);
snprintf(s_new_files_info.extracted_name, MAX_FILE_PATH, "%s/%s", s_update_data.ua_delta_folder, SS_NEW_COMPRESSED_FILE);