mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2025-02-20 11:43:27 +08:00
fastfetch: add the missing new-line in config files (#772)
This commit is contained in:
parent
898859cc7a
commit
4430b7145e
@ -821,6 +821,7 @@ static void run(FFdata* data)
|
||||
if (instance.state.resultDoc)
|
||||
{
|
||||
yyjson_mut_write_fp(stdout, instance.state.resultDoc, YYJSON_WRITE_INF_AND_NAN_AS_NULL | YYJSON_WRITE_PRETTY_TWO_SPACES, NULL, NULL);
|
||||
//TODO should use YYJSON_WRITE_NEWLINE_AT_END when it is available
|
||||
putchar('\n');
|
||||
}
|
||||
else
|
||||
@ -840,24 +841,23 @@ static void writeConfigFile(FFdata* data, const FFstrbuf* filename)
|
||||
ffOptionsGenerateLibraryJsonConfig(&instance.config.library, doc);
|
||||
ffMigrateCommandOptionToJsonc(data, doc);
|
||||
|
||||
if (ffStrbufEqualS(filename, "-"))
|
||||
yyjson_mut_write_fp(stdout, doc, YYJSON_WRITE_INF_AND_NAN_AS_NULL | YYJSON_WRITE_PRETTY_TWO_SPACES, NULL, NULL);
|
||||
else
|
||||
FILE *fp = stdout;
|
||||
bool writeToStdout = ffStrbufEqualS(filename, "-");
|
||||
if (!writeToStdout)
|
||||
fp = fopen(filename->chars, "w");
|
||||
|
||||
bool ok = yyjson_mut_write_fp(fp, doc, YYJSON_WRITE_INF_AND_NAN_AS_NULL | YYJSON_WRITE_PRETTY_TWO_SPACES, NULL, NULL);
|
||||
//TODO should use YYJSON_WRITE_NEWLINE_AT_END when it is available
|
||||
fputc('\n', fp);
|
||||
if (!ok)
|
||||
{
|
||||
size_t len;
|
||||
FF_AUTO_FREE const char* str = yyjson_mut_write(doc, YYJSON_WRITE_INF_AND_NAN_AS_NULL | YYJSON_WRITE_PRETTY_TWO_SPACES, &len);
|
||||
if (!str)
|
||||
{
|
||||
printf("Error: failed to generate config file\n");
|
||||
exit(1);
|
||||
}
|
||||
if (ffWriteFileData(filename->chars, len, str))
|
||||
printf("The generated config file has been written in `%s`\n", filename->chars);
|
||||
else
|
||||
{
|
||||
printf("Error: failed to write file in `%s`\n", filename->chars);
|
||||
exit(1);
|
||||
}
|
||||
fprintf(stderr, "Error: failed to generate config in `%s`\n", writeToStdout ? "stdout" : filename->chars);
|
||||
exit(1);
|
||||
}
|
||||
if (ok && !writeToStdout)
|
||||
{
|
||||
fclose(fp);
|
||||
printf("The generated config file has been written in `%s`\n", filename->chars);
|
||||
}
|
||||
|
||||
yyjson_mut_doc_free(doc);
|
||||
|
Loading…
x
Reference in New Issue
Block a user