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

Reply via email to