Fix SystemInfoDeviceCapability 53/7853/1 accepted/tizen/ivi/genivi tizen_ivi_genivi accepted/tizen/ivi/genivi/20140131.061514 accepted/tizen_ivi_release/20131120.050527 ivi_oct_m2 submit/tizen/20130814.203958 submit/tizen/20131011.222744 submit/tizen/20131011.222926 submit/tizen/20131011.223341 submit/tizen/20131011.224101 submit/tizen_ivi_genivi/20140131.060735
authorXavier Roche <xavier.roche@eurogiciel.fr>
Thu, 8 Aug 2013 17:27:40 +0000 (19:27 +0200)
committerXavier Roche <xavier.roche@eurogiciel.fr>
Thu, 8 Aug 2013 17:27:40 +0000 (19:27 +0200)
  related to TZPC-4182
  - fix system_info_get_tizen_version to parse suitable VERSION name
  - fix system_info_get_platform_name to parse suitable platform NAME
  - fix system_info_get_tizen_version_name to parse suitable tizen version name
  - fix system_info_get_core_cpu_arch to get suitable cpu arch
  - fix system_info_get_core_fpu_arch to get suitable Floating Point Unit

src/system_info_platform.c

index 7f13de0..abc526a 100644 (file)
@@ -205,7 +205,7 @@ int system_info_get_tizen_version(system_info_key_e key, system_info_data_type_e
                return SYSTEM_INFO_ERROR_IO_ERROR;
        } else {
                while (fgets(str, MAXBUFSIZE, info)) {
-                       if (strcasestr(str, "VERSION_ID")) {
+                       if (strcasestr(str, "VERSION")) {
                                name = strchr(str, '=');
                                name += 2;
                                tmpStrlen = strlen(name);
@@ -246,7 +246,7 @@ int system_info_get_platform_name(system_info_key_e key, system_info_data_type_e
                return SYSTEM_INFO_ERROR_IO_ERROR;
        } else {
                while (fgets(str, MAXBUFSIZE, info)) {
-                       if (strcasestr(str, "NAME")) {
+                       if (strcasestr(str, "PRETTY_NAME")) {
                                name = strchr(str, '=');
                                name += 2;
                                tmpStrlen = strlen(name);
@@ -291,8 +291,8 @@ int system_info_get_tizen_version_name(system_info_key_e key, system_info_data_t
                return SYSTEM_INFO_ERROR_IO_ERROR;
        } else {
                while (fgets(str, MAXBUFSIZE, info)) {
-                       if (strcasestr(str, "VERSION")) {
-                               name = strchr(str, ',');
+                       if (strcasestr(str, "VERSION_ID")) {
+                               name = strchr(str, '=');
                                name += 2;
                                tmpStrlen = strlen(name);
 
@@ -383,6 +383,9 @@ int system_info_get_core_cpu_arch(system_info_key_e key, system_info_data_type_e
                                } else if (!(strncmp("x86", name+2, strlen("x86")))) {
                                        strncpy(tmpStr, name+2, strlen("x86"));
                                        tmpStr[strlen("x86")] = '\0';
+                               } else if (!(strncmp("x86_64", name+2, strlen("x86_64")))) {
+                                       strncpy(tmpStr, name+2, strlen("x86_64"));
+                                       tmpStr[strlen("x86_64")] = '\0';
                                }
                        } else
                                continue;
@@ -398,7 +401,6 @@ int system_info_get_core_cpu_arch(system_info_key_e key, system_info_data_type_e
                }
 
                CORE_CPU_ARCH = strdup(tmpStr);
-
                if (CORE_CPU_ARCH == NULL) {
                        LOGE("OUT_OF_MEMORY(0x%08x)", SYSTEM_INFO_ERROR_OUT_OF_MEMORY);
                        fclose(cpuinfo);
@@ -426,7 +428,7 @@ int system_info_get_core_fpu_arch(system_info_key_e key, system_info_data_type_e
                return SYSTEM_INFO_ERROR_IO_ERROR;
        } else {
                /* The target and the emulator uses the field "Features" and "flags" in /proc/cpuinfo */
-               if (system_info_get_system_info_model_type() != SYSTEM_INFO_MODEL_TYPE_EMULATOR)
+               if (system_info_get_system_info_model_type() == SYSTEM_INFO_MODEL_TYPE_EMULATOR)
                        snprintf(tmpStr, strlen("Features"), "Features");
                else
                        snprintf(tmpStr, strlen("flags"), "flags");
@@ -438,6 +440,10 @@ int system_info_get_core_fpu_arch(system_info_key_e key, system_info_data_type_e
                                        CORE_FPU_ARCH = strdup("vfpv3");
                                else if (strstr(name+2, "vfpv2"))
                                        CORE_FPU_ARCH = strdup("vfpv2");
+                else if (strstr(name+2, "sse4_2"))
+                                       CORE_FPU_ARCH = strdup("sse4_2");
+                else if (strstr(name+2, "sse4_1"))
+                                       CORE_FPU_ARCH = strdup("sse4_1");
                                else if (strstr(name+2, "ssse3"))
                                        CORE_FPU_ARCH = strdup("ssse3");
                                else if (strstr(name+2, "sse3"))