Logo (Builtin): split ID_LIKE before using

Fix #1540
This commit is contained in:
Carter Li
2025-02-07 10:57:30 +08:00
parent 1d21d02878
commit f2755a844b
+23 -6
View File
@@ -387,13 +387,30 @@ static const FFlogo* logoGetBuiltinDetected(FFLogoSize size)
if(logo != NULL)
return logo;
logo = logoGetBuiltin(&os->prettyName, size);
if(logo != NULL)
return logo;
if (ffStrbufContainC(&os->idLike, ' '))
{
FF_STRBUF_AUTO_DESTROY buf = ffStrbufCreate();
for (
uint32_t start = 0, end = ffStrbufFirstIndexC(&os->idLike, ' ');
true;
start = end + 1, end = ffStrbufNextIndexC(&os->idLike, start, ' ')
)
{
ffStrbufSetNS(&buf, end - start, os->idLike.chars + start);
logo = logoGetBuiltin(&buf, size);
if(logo != NULL)
return logo;
logo = logoGetBuiltin(&os->idLike, size);
if(logo != NULL)
return logo;
if (end >= os->idLike.length)
break;
}
}
else
{
logo = logoGetBuiltin(&os->idLike, size);
if(logo != NULL)
return logo;
}
logo = logoGetBuiltin(&instance.state.platform.sysinfo.name, size);
if(logo != NULL)