From fba74cf8bd9696b9b7f42a8cbb9e16dd065b0a83 Mon Sep 17 00:00:00 2001 From: Alberto Maschietto Date: Tue, 8 Sep 2026 01:12:20 +0400 Subject: plistutil: preserve binary data on Windows standard streams --- tools/plistutil.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/plistutil.c b/tools/plistutil.c index e2ea286..8a341d0 100644 --- a/tools/plistutil.c +++ b/tools/plistutil.c @@ -33,6 +33,10 @@ #include #include #include +#ifdef _WIN32 +#include +#include +#endif #ifndef _MSC_VER #include #endif @@ -266,6 +270,9 @@ int main(int argc, char *argv[]) if (!options->in_file || !strcmp(options->in_file, "-")) { +#ifdef _WIN32 + _setmode(_fileno(stdin), _O_BINARY); +#endif read_size = 0; plist_entire = malloc(sizeof(char) * read_capacity); if(plist_entire == NULL) @@ -475,8 +482,12 @@ int main(int argc, char *argv[]) fclose(oplist); } // if no output file specified, write to stdout - else + else { +#ifdef _WIN32 + _setmode(_fileno(stdout), _O_BINARY); +#endif fwrite(plist_out, size, sizeof(char), stdout); + } free(plist_out); } -- cgit v1.1-32-gdbae