X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fcpuid%2Fcpuid.c;h=4510def85b2dc0cb87fb0c780615a70da87fdd60;hb=ba89419ac9074d930eec7ba72c378831c56ed060;hp=d0c06465847c6a4965c2bf40aa7123cc31c2c3b5;hpb=2ecac63d9f74577011a2fd859fab76b4851747f3;p=ccan diff --git a/ccan/cpuid/cpuid.c b/ccan/cpuid/cpuid.c index d0c06465..4510def8 100644 --- a/ccan/cpuid/cpuid.c +++ b/ccan/cpuid/cpuid.c @@ -237,8 +237,8 @@ cputype_t cpuid_get_cpu_type(void) uint32_t i; get_cpuid(CPUID_VENDORID, &i, &u.bufu32[0], &u.bufu32[2], &u.bufu32[1]); - for (i = 0; i < sizeof(c_cpunames) / sizeof(c_cpunames); ++i) { - if (strncmp(c_cpunames[i], u.buf, sizeof(c_cpunames[0])) == 0) { + for (i = 0; i < sizeof(c_cpunames) / sizeof(c_cpunames[0]); ++i) { + if (strncmp(c_cpunames[i], u.buf, 12) == 0) { cputype = (cputype_t)i; break; } @@ -368,32 +368,12 @@ void cpuid(cpuid_t request, uint32_t *buf) } } -bool cpuid_write_info(uint32_t info, uint32_t featureset, const char *outfile) +bool cpuid_write_info(uint32_t info, uint32_t featureset, FILE *file) { - FILE *file; - char filename[256]; - char cpu_information[64]; - - if (!cpuid_sprintf_cputype(cpuid_get_cpu_type(), cpu_information)) - return false; - char brand[48]; cpuid(CPUID_PROC_BRAND_STRING, (uint32_t *)brand); - cpu_information[12] = '_'; - memcpy(&cpu_information[13], brand, sizeof brand); - - if (!outfile) - strncpy(filename, cpu_information, sizeof cpu_information); - else - strncpy(filename, outfile, sizeof filename); - - file = fopen(filename, "w"); - if (!file) - return false; - - fprintf(file, "-- CPU Information for CPU: %s --\n\n", cpu_information); - + fprintf(file, "-- CPU Information for: %s_%s --\n\n", cpuid_get_name(), brand); if (info & CPUID_HIGHEST_EXTENDED_FUNCTION_SUPPORTED) fprintf(file, "Highest extended function supported: %#010x\n\n", cpuid_highest_ext_func_supported()); @@ -675,7 +655,6 @@ bool cpuid_write_info(uint32_t info, uint32_t featureset, const char *outfile) } #undef YON - fclose(file); return true; }