Skip to content

Commit f2755a8

Browse files
committed
Logo (Builtin): split ID_LIKE before using
Fix #1540
1 parent 1d21d02 commit f2755a8

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

src/logo/logo.c

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -387,13 +387,30 @@ static const FFlogo* logoGetBuiltinDetected(FFLogoSize size)
387387
if(logo != NULL)
388388
return logo;
389389

390-
logo = logoGetBuiltin(&os->prettyName, size);
391-
if(logo != NULL)
392-
return logo;
390+
if (ffStrbufContainC(&os->idLike, ' '))
391+
{
392+
FF_STRBUF_AUTO_DESTROY buf = ffStrbufCreate();
393+
for (
394+
uint32_t start = 0, end = ffStrbufFirstIndexC(&os->idLike, ' ');
395+
true;
396+
start = end + 1, end = ffStrbufNextIndexC(&os->idLike, start, ' ')
397+
)
398+
{
399+
ffStrbufSetNS(&buf, end - start, os->idLike.chars + start);
400+
logo = logoGetBuiltin(&buf, size);
401+
if(logo != NULL)
402+
return logo;
393403

394-
logo = logoGetBuiltin(&os->idLike, size);
395-
if(logo != NULL)
396-
return logo;
404+
if (end >= os->idLike.length)
405+
break;
406+
}
407+
}
408+
else
409+
{
410+
logo = logoGetBuiltin(&os->idLike, size);
411+
if(logo != NULL)
412+
return logo;
413+
}
397414

398415
logo = logoGetBuiltin(&instance.state.platform.sysinfo.name, size);
399416
if(logo != NULL)

0 commit comments

Comments
 (0)