Skip to content

Commit 0bfa12c

Browse files
committed
OS: allow customize key format with kernel name and distro name
1 parent c8e4962 commit 0bfa12c

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/modules/os/os.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,19 @@ void ffPrintOS(FFOSOptions* options)
6363
return;
6464
}
6565

66+
FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate();
67+
68+
if(options->moduleArgs.key.length == 0)
69+
ffStrbufSetStatic(&key, FF_OS_MODULE_NAME);
70+
else
71+
{
72+
FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) {
73+
FF_FORMAT_ARG(instance.state.platform.sysinfo.name, "sysname"),
74+
FF_FORMAT_ARG(os->name, "name"),
75+
FF_FORMAT_ARG(options->moduleArgs.keyIcon, "icon"),
76+
}));
77+
}
78+
6679
if(options->moduleArgs.outputFormat.length == 0)
6780
{
6881
FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate();
@@ -79,12 +92,12 @@ void ffPrintOS(FFOSOptions* options)
7992
ffStrbufAppend(&result, &instance.state.platform.sysinfo.architecture);
8093
}
8194

82-
ffPrintLogoAndKey(FF_OS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
95+
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY);
8396
ffStrbufPutTo(&result, stdout);
8497
}
8598
else
8699
{
87-
FF_PRINT_FORMAT_CHECKED(FF_OS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]){
100+
FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, ((FFformatarg[]){
88101
FF_FORMAT_ARG(instance.state.platform.sysinfo.name, "sysname"),
89102
FF_FORMAT_ARG(os->name, "name"),
90103
FF_FORMAT_ARG(os->prettyName, "pretty-name"),
@@ -96,7 +109,8 @@ void ffPrintOS(FFOSOptions* options)
96109
FF_FORMAT_ARG(os->versionID, "version-id"),
97110
FF_FORMAT_ARG(os->codename, "codename"),
98111
FF_FORMAT_ARG(os->buildID, "build-id"),
99-
FF_FORMAT_ARG(instance.state.platform.sysinfo.architecture, "arch")
112+
FF_FORMAT_ARG(instance.state.platform.sysinfo.architecture, "arch"),
113+
FF_FORMAT_ARG(instance.state.platform.sysinfo.release, "kernel-release"),
100114
}));
101115
}
102116
}

0 commit comments

Comments
 (0)