mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 08:13:44 +01:00
PublicIP: add option --publicip-ipv6
This commit is contained in:
@@ -11,4 +11,5 @@ typedef struct FFPublicIpOptions
|
||||
|
||||
FFstrbuf url;
|
||||
uint32_t timeout;
|
||||
bool ipv6;
|
||||
} FFPublicIpOptions;
|
||||
|
||||
@@ -59,6 +59,12 @@ bool ffParsePublicIpCommandOptions(FFPublicIpOptions* options, const char* key,
|
||||
return true;
|
||||
}
|
||||
|
||||
if (ffStrEqualsIgnCase(subKey, "ipv6"))
|
||||
{
|
||||
options->ipv6 = ffOptionParseBoolean(value);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -87,6 +93,12 @@ void ffParsePublicIpJsonObject(FFPublicIpOptions* options, yyjson_val* module)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ffStrEqualsIgnCase(key, "ipv6"))
|
||||
{
|
||||
options->ipv6 = yyjson_get_bool(val);
|
||||
continue;
|
||||
}
|
||||
|
||||
ffPrintError(FF_PUBLICIP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", key);
|
||||
}
|
||||
}
|
||||
@@ -100,6 +112,12 @@ void ffGeneratePublicIpJsonConfig(FFPublicIpOptions* options, yyjson_mut_doc* do
|
||||
|
||||
if (!ffStrbufEqual(&options->url, &defaultOptions.url))
|
||||
yyjson_mut_obj_add_strbuf(doc, module, "url", &options->url);
|
||||
|
||||
if (defaultOptions.timeout != options->timeout)
|
||||
yyjson_mut_obj_add_uint(doc, module, "timeout", options->timeout);
|
||||
|
||||
if (defaultOptions.ipv6 != options->ipv6)
|
||||
yyjson_mut_obj_add_bool(doc, module, "ipv6", options->ipv6);
|
||||
}
|
||||
|
||||
void ffGeneratePublicIpJsonResult(FFPublicIpOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
@@ -148,6 +166,7 @@ void ffInitPublicIpOptions(FFPublicIpOptions* options)
|
||||
|
||||
ffStrbufInit(&options->url);
|
||||
options->timeout = 0;
|
||||
options->ipv6 = false;
|
||||
}
|
||||
|
||||
void ffDestroyPublicIpOptions(FFPublicIpOptions* options)
|
||||
|
||||
Reference in New Issue
Block a user