On Fri, 9 Sep 2022 13:38:14 GMT, Julian Waters <jwat...@openjdk.org> wrote:
> tstrings::any() has an overload for std::wstring (if required) but is missing > the corresponding operator overload for std::string, leaving only the > templated one as a fallback, which will expand into a std::wostringstream << > std::string operation. This isn't particularly safe on Windows, considering > that JDK-8292008 and JDK-8247283 have been recently merged, and can > sporadically cause build failures. This change simply adds the missing > overload with the appropriate format handling that jpackage expects from > std::string. Also contains minor name changes to fit the rest of the > parameter names in the other overloads. Changes requested by asemenyuk (Reviewer). src/jdk.jpackage/share/native/common/tstrings.h line 363: > 361: return *this; > 362: } > 363: I guess you also need any& operator << (LPSTR v) { data << (v ? fromUtf8(v) : "NULL"); return *this; } any& operator << (LPCSTR v) { data << (v ? fromUtf8(v) : "NULL"); return *this; } to make a complete set of overloads ------------- PR: https://git.openjdk.org/jdk/pull/10231