better cpu name prettifier

This commit is contained in:
Linus Dierheimer
2021-04-17 14:37:32 +02:00
parent 44ddfc2a03
commit 4e54117238
3 changed files with 29 additions and 14 deletions
+9 -3
View File
@@ -97,9 +97,15 @@ void ffPrintCPU(FFinstance* instance)
FFstrbuf namePretty;
ffStrbufInitA(&namePretty, 64);
ffStrbufAppendS(&namePretty, name);
ffStrbufRemoveStrings(&namePretty, 11,
"(R)", "(r)", "(TM)", "(tm)", " CPU", " FPU", " Processor", " Dual-Core", " Quad-Core", " Six-Core", " Eight-Core"
);
const char* removeStrings[] = {
"(R)", "(r)", "(TM)", "(tm)",
" CPU", " FPU", " Processor",
" Dual-Core", " Quad-Core", " Six-Core", " Eight-Core", " Ten-Core",
" 2-Core", " 4-Core", " 6-Core", " 8-Core", " 10-Core", " 12-Core", " 14-Core", " 16-Core"
};
ffStrbufRemoveStringsA(&namePretty, sizeof(removeStrings) / sizeof(removeStrings[0]), removeStrings);
ffStrbufSubstrBeforeFirstC(&namePretty, '@'); //Cut the speed output in the name as we append our own
ffStrbufTrimRight(&namePretty, ' '); //If we removed the @ in previous step there was most likely a space before it
+18 -11
View File
@@ -313,18 +313,8 @@ static bool strbufRemoveTest(FFstrbuf* strbuf, uint32_t i, const char* substr)
return true;
}
void ffStrbufRemoveStrings(FFstrbuf* strbuf, uint32_t numStrings, ...)
void ffStrbufRemoveStringsA(FFstrbuf* strbuf, uint32_t numStrings, const char* strings[])
{
const char* strings[numStrings];
va_list argp;
va_start(argp, numStrings);
for(uint32_t i = 0; i < numStrings; i++)
strings[i] = va_arg(argp, const char*);
va_end(argp);
for(uint32_t i = 0; i < strbuf->length; i++)
{
for(uint32_t k = 0; k < numStrings; k++)
@@ -332,6 +322,23 @@ void ffStrbufRemoveStrings(FFstrbuf* strbuf, uint32_t numStrings, ...)
}
}
void ffStrbufRemoveStringsV(FFstrbuf* strbuf, uint32_t numStrings, va_list arguments)
{
const char* strings[numStrings];
for(uint32_t i = 0; i < numStrings; i++)
strings[i] = va_arg(arguments, const char*);
ffStrbufRemoveStringsA(strbuf, numStrings, strings);
}
void ffStrbufRemoveStrings(FFstrbuf* strbuf, uint32_t numStrings, ...)
{
va_list argp;
va_start(argp, numStrings);
ffStrbufRemoveStringsV(strbuf, numStrings, argp);
va_end(argp);
}
uint32_t ffStrbufFirstIndexAfterC(FFstrbuf* strbuf, uint32_t start, const char c)
{
for(uint32_t i = start; i < strbuf->length; i++)
+2
View File
@@ -66,6 +66,8 @@ void ffStrbufTrimLeft(FFstrbuf* strbuf, char c);
void ffStrbufTrimRight(FFstrbuf* strbuf, char c);
void ffStrbufTrim(FFstrbuf* strbuf, char c);
void ffStrbufRemoveStringsA(FFstrbuf* strbuf, uint32_t numStrings, const char* strings[]);
void ffStrbufRemoveStringsV(FFstrbuf* strbuf, uint32_t numStrings, va_list arguments);
void ffStrbufRemoveStrings(FFstrbuf* strbuf, uint32_t numStrings, ...);
uint32_t ffStrbufFirstIndexAfterC(FFstrbuf* strbuf, uint32_t start, const char c);