From dbe0c84c48a0e7d036e703b68e3df708edeac272 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Fri, 7 Jun 2024 02:36:17 +0000 Subject: [PATCH] OS (Linux): don't display duplicate entries --- CHANGELOG.md | 1 + src/modules/os/os.c | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 90548c443..faf533b28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Bugfixes: * Correctly capitalize GNOME (#997, DE, Linux) * Fix segfault on system using turkish language (#995, InitSystem, Linux) * Fix kubuntu detection (#1000, OS, Linux) +* Don't display duplicate entries (OS, Linux) # 2.14.0 diff --git a/src/modules/os/os.c b/src/modules/os/os.c index 87cb7a1b7..b447a1821 100644 --- a/src/modules/os/os.c +++ b/src/modules/os/os.c @@ -11,6 +11,7 @@ static void buildOutputDefault(const FFOSResult* os, FFstrbuf* result) { + // asm ("int3"); //Create the basic output if(os->name.length > 0) ffStrbufAppend(result, &os->name); @@ -22,32 +23,32 @@ static void buildOutputDefault(const FFOSResult* os, FFstrbuf* result) ffStrbufAppend(result, &instance.state.platform.systemName); //Append code name if it is missing - if(os->codename.length > 0 && !ffStrbufContain(result, &os->codename)) + if(os->codename.length > 0 && !ffStrbufContainIgnCase(result, &os->codename)) { ffStrbufAppendC(result, ' '); ffStrbufAppend(result, &os->codename); } //Append version if it is missing - if(os->versionID.length > 0 && !ffStrbufContain(result, &os->versionID)) + if(os->versionID.length > 0 && !ffStrbufContainIgnCase(result, &os->versionID)) { ffStrbufAppendC(result, ' '); ffStrbufAppend(result, &os->versionID); } - else if(os->versionID.length == 0 && os->version.length > 0 && !ffStrbufContain(result, &os->version)) + else if(os->versionID.length == 0 && os->version.length > 0 && !ffStrbufContainIgnCase(result, &os->version)) { ffStrbufAppendC(result, ' '); ffStrbufAppend(result, &os->version); } //Append variant if it is missing - if(os->variant.length > 0 && ffStrbufFirstIndex(result, &os->variant) == result->length) + if(os->variant.length > 0 && !ffStrbufContainIgnCase(result, &os->variant)) { ffStrbufAppendS(result, " ("); ffStrbufAppend(result, &os->variant); ffStrbufAppendC(result, ')'); } - else if(os->variant.length == 0 && os->variantID.length > 0 && ffStrbufFirstIndex(result, &os->variantID) == result->length) + else if(os->variant.length == 0 && os->variantID.length > 0 && !ffStrbufContainIgnCase(result, &os->variantID)) { ffStrbufAppendS(result, " ("); ffStrbufAppend(result, &os->variantID); @@ -55,7 +56,7 @@ static void buildOutputDefault(const FFOSResult* os, FFstrbuf* result) } //Append architecture if it is missing - if(ffStrbufFirstIndex(result, &instance.state.platform.systemArchitecture) == result->length) + if(!ffStrbufContainIgnCase(result, &instance.state.platform.systemArchitecture)) { ffStrbufAppendC(result, ' '); ffStrbufAppend(result, &instance.state.platform.systemArchitecture);