Skip to content

Commit d979f55

Browse files
committed
Modules: fix custom key not working if the key is formatted outside
Fix fastfetch-cli#1049
1 parent 4f26150 commit d979f55

File tree

7 files changed

+18
-18
lines changed

7 files changed

+18
-18
lines changed

src/common/printing.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
typedef enum FFPrintType {
77
FF_PRINT_TYPE_DEFAULT = 0,
8-
FF_PRINT_TYPE_NO_CUSTOM_KEY = 1 << 0,
8+
FF_PRINT_TYPE_NO_CUSTOM_KEY = 1 << 0, // key has been formatted outside
99
FF_PRINT_TYPE_NO_CUSTOM_KEY_COLOR = 1 << 1,
1010
FF_PRINT_TYPE_NO_CUSTOM_KEY_WIDTH = 1 << 2,
1111
FF_PRINT_TYPE_NO_CUSTOM_OUTPUT_FORMAT = 1 << 3, // reserved

src/modules/bios/bios.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void ffPrintBios(FFBiosOptions* options)
5050

5151
if(options->moduleArgs.outputFormat.length == 0)
5252
{
53-
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
53+
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY);
5454
ffStrbufWriteTo(&bios.version, stdout);
5555
if (bios.release.length)
5656
printf(" (%s)\n", bios.release.chars);
@@ -59,7 +59,7 @@ void ffPrintBios(FFBiosOptions* options)
5959
}
6060
else
6161
{
62-
FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_BIOS_NUM_FORMAT_ARGS, ((FFformatarg[]) {
62+
FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, FF_BIOS_NUM_FORMAT_ARGS, ((FFformatarg[]) {
6363
{FF_FORMAT_ARG_TYPE_STRBUF, &bios.date, "date"},
6464
{FF_FORMAT_ARG_TYPE_STRBUF, &bios.release, "release"},
6565
{FF_FORMAT_ARG_TYPE_STRBUF, &bios.vendor, "vendor"},

src/modules/cpucache/cpucache.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,19 @@ static void printCPUCacheNormal(const FFCPUCacheResult* result, FFCPUCacheOption
1212
FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate();
1313
FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate();
1414

15+
char levelStr[4] = "L";
1516
for (uint32_t i = 0; i < sizeof (result->caches) / sizeof (result->caches[0]) && result->caches[i].length > 0; i++)
1617
{
1718
ffStrbufClear(&key);
19+
levelStr[1] = (char) ('1' + i);
1820
if (options->moduleArgs.key.length == 0)
19-
ffStrbufAppendF(&key, "%s (L%u)", FF_CPUCACHE_DISPLAY_NAME, i + 1);
21+
ffStrbufAppendF(&key, "%s (%s)", FF_CPUCACHE_DISPLAY_NAME, levelStr);
2022
else
2123
{
22-
FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, 1, ((FFformatarg[]){
23-
{FF_FORMAT_ARG_TYPE_UINT, &i, "index"},
24+
uint32_t index = i + 1;
25+
FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, 2, ((FFformatarg[]){
26+
{FF_FORMAT_ARG_TYPE_UINT, &index, "index"},
27+
{FF_FORMAT_ARG_TYPE_STRING, levelStr, "level"},
2428
}));
2529
}
2630

@@ -49,14 +53,14 @@ static void printCPUCacheNormal(const FFCPUCacheResult* result, FFCPUCacheOption
4953

5054
if(options->moduleArgs.outputFormat.length == 0)
5155
{
52-
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
56+
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY);
5357
ffStrbufPutTo(&buffer, stdout);
5458
}
5559
else
5660
{
5761
FF_STRBUF_AUTO_DESTROY buffer2 = ffStrbufCreate();
5862
ffParseSize(sum, &buffer2);
59-
FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_CPUCACHE_NUM_FORMAT_ARGS, ((FFformatarg[]) {
63+
FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, FF_CPUCACHE_NUM_FORMAT_ARGS, ((FFformatarg[]) {
6064
{FF_FORMAT_ARG_TYPE_STRBUF, &buffer, "result"},
6165
{FF_FORMAT_ARG_TYPE_STRBUF, &buffer2, "sum"},
6266
}));

src/modules/diskio/diskio.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ void ffPrintDiskIO(FFDiskIOOptions* options)
3737

3838
if(error)
3939
{
40-
ffPrintError(FF_DISKIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error);
40+
ffPrintError(FF_DISKIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, "%s", error);
4141
return;
4242
}
4343

@@ -55,7 +55,7 @@ void ffPrintDiskIO(FFDiskIOOptions* options)
5555

5656
if(options->moduleArgs.outputFormat.length == 0)
5757
{
58-
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
58+
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY);
5959

6060
ffParseSize(dev->bytesRead, &buffer);
6161
if (!options->detectTotal) ffStrbufAppendS(&buffer, "/s");

src/modules/netio/netio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ void ffPrintNetIO(FFNetIOOptions* options)
5757

5858
if(options->moduleArgs.outputFormat.length == 0)
5959
{
60-
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
60+
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY);
6161

6262
ffParseSize(inf->rxBytes, &buffer);
6363
if (!options->detectTotal) ffStrbufAppendS(&buffer, "/s");

src/modules/physicaldisk/physicaldisk.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void ffPrintPhysicalDisk(FFPhysicalDiskOptions* options)
7070

7171
if(options->moduleArgs.outputFormat.length == 0)
7272
{
73-
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
73+
ffPrintLogoAndKey(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY);
7474

7575
if (physicalType[0] || removableType[0] || readOnlyType[0])
7676
{

src/modules/physicalmemory/physicalmemory.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,7 @@ void ffPrintPhysicalMemory(FFPhysicalMemoryOptions* options)
3232

3333
if (options->moduleArgs.outputFormat.length == 0)
3434
{
35-
ffPrintLogoAndKey(
36-
FF_PHYSICALMEMORY_DISPLAY_NAME,
37-
result.length == 1 ? 0 : (uint8_t) i,
38-
&options->moduleArgs,
39-
FF_PRINT_TYPE_DEFAULT);
35+
ffPrintLogoAndKey(FF_PHYSICALMEMORY_DISPLAY_NAME, result.length == 1 ? 0 : (uint8_t) i, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
4036

4137
fputs(prettySize.chars, stdout);
4238
fputs(" - ", stdout);
@@ -53,7 +49,7 @@ void ffPrintPhysicalMemory(FFPhysicalMemoryOptions* options)
5349
}
5450
else
5551
{
56-
FF_PRINT_FORMAT_CHECKED(key.chars, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_PHYSICALMEMORY_NUM_FORMAT_ARGS, ((FFformatarg[]) {
52+
FF_PRINT_FORMAT_CHECKED(FF_PHYSICALMEMORY_DISPLAY_NAME, (uint8_t) i, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_PHYSICALMEMORY_NUM_FORMAT_ARGS, ((FFformatarg[]) {
5753
{FF_FORMAT_ARG_TYPE_UINT64, &device->size, "bytes"},
5854
{FF_FORMAT_ARG_TYPE_STRBUF, &prettySize, "size"},
5955
{FF_FORMAT_ARG_TYPE_UINT, &device->maxSpeed, "max-speed"},

0 commit comments

Comments
 (0)