@@ -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