From 02a04dd9c7d760d1977e72a59e52da4e15000e0c Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 26 Oct 2022 14:35:42 -0400 Subject: Ninja: Restore support for non-ascii paths on Windows with ninja<=1.10 Revert commit bbdb000c55 (GlobalNinjaGenerator: enlarge file stream buffer, 2022-01-25, v3.23.0-rc1~68^2). Somehow `rdbuf()->pubsetbuf()` is resetting our imbued locale and `cm_codecvt` that handles encoding. Fixes: #24089 --- Source/cmGlobalNinjaGenerator.cxx | 13 ------------- Source/cmGlobalNinjaGenerator.h | 1 - 2 files changed, 14 deletions(-) diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 4245037..982b6af 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -1025,19 +1025,6 @@ bool cmGlobalNinjaGenerator::OpenBuildFileStreams() return false; } - // New buffer size 8 MiB - constexpr auto buildFileStreamBufferSize = 8 * 1024 * 1024; - - // Ensure the buffer is allocated - if (!this->BuildFileStreamBuffer) { - this->BuildFileStreamBuffer = - cm::make_unique(buildFileStreamBufferSize); - } - - // Enlarge the internal buffer of the `BuildFileStream` - this->BuildFileStream->rdbuf()->pubsetbuf(this->BuildFileStreamBuffer.get(), - buildFileStreamBufferSize); - // Write a comment about this file. *this->BuildFileStream << "# This file contains all the build statements describing the\n" diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h index aa2df4d..03387a8 100644 --- a/Source/cmGlobalNinjaGenerator.h +++ b/Source/cmGlobalNinjaGenerator.h @@ -529,7 +529,6 @@ private: /// The file containing the build statement. (the relationship of the /// compilation DAG). std::unique_ptr BuildFileStream; - std::unique_ptr BuildFileStreamBuffer; /// The file containing the rule statements. (The action attached to each /// edge of the compilation DAG). std::unique_ptr RulesFileStream; -- cgit v0.12