6 #include "installer_util.h"
9 char * get_file_extension(const char *file_path)
11 return strrchr(file_path, '.') + 1;
15 char * modify_file_path(const char *file_path)
17 return strchr(file_path, '/') + 2;
20 int is_valid_version(const char* version)
22 int major, minor, macro;
24 return extract_version(version, &major, &minor, ¯o);
27 int extract_version(const char* version, int* major, int* minor, int* macro)
29 char* version_temp = NULL;
30 char* major_str = NULL;
31 char* minor_str = NULL;
32 char* macro_str = NULL;
34 version_temp = strdup(version);
36 major_str = strtok(version_temp, ".");
37 if (major_str == NULL)
39 LOGE("%s strtok() failed. major version is NULL.", __func__);
44 minor_str = strtok(NULL, ".");
45 if (minor_str == NULL)
47 LOGE("%s strtok() failed. minor version is NULL.", __func__);
52 *major = atoi(major_str);
53 *minor = atoi(minor_str);
55 macro_str = strtok(NULL, ".");
56 if (macro_str == NULL)
58 LOGI("%s strtok() failed. macro version is NULL.", __func__);
59 LOGI("%s version = [%s] -> major = [%d], minor = [%d]", __func__, version, *major, *minor);
63 *macro = atoi(macro_str);
64 LOGI("%s version = [%s] -> major = [%d], minor = [%d], macro = [%d]", __func__, version, *major, *minor, *macro);
73 int compare_version(const char* old_version, const char* new_version)
76 int old_version_major = 0;
77 int old_version_minor = 0;
78 int old_version_macro = 0;
79 int new_version_major = 0;
80 int new_version_minor = 0;
81 int new_version_macro = 0;
83 res = extract_version(new_version, &new_version_major, &new_version_minor, &new_version_macro);
86 LOGE("%s extract_verison() failed.(%d)", __func__, res);
90 res = extract_version(old_version, &old_version_major, &old_version_minor, &old_version_macro);
93 LOGE("%s extract_verison() failed.(%d)", __func__, res);
97 LOGI("new[%d.%d.%d] old[%d.%d.%d]", new_version_major, new_version_minor, new_version_macro,
98 old_version_major, old_version_minor, old_version_macro);
100 if (new_version_major > old_version_major)
104 else if (new_version_major < old_version_major)
109 if (new_version_minor > old_version_minor)
113 else if (new_version_minor < old_version_minor)
118 if (new_version_macro > old_version_macro)
122 else if (new_version_macro < old_version_macro)