RFR: 8293595: tstrings::any() is missing an overload

Alexey Semenyuk asemenyuk at openjdk.org
Mon Sep 19 19:21:00 UTC 2022


On Mon, 19 Sep 2022 18:06:51 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> 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
>
> I deliberately left those 2 out since the comments accompanying them seem to suggest that they're Windows specific overloads that are there for different reasons (As opposed to the one this PR is aimed at, which takes in a regular std::wstring), moreover not providing overloads for them don't seem to be causing issues either. I'm unsure if adding them too would be correct, I'll wait for more reviews before doing so

I'm the author of these comments and basically the entire source file.

You are right, it will work without the additional overloads. However the null pointers will be ignored (tested with G++ 7.4.0), but this is minor, probably implementation-specific and can be ignored.

-------------

PR: https://git.openjdk.org/jdk/pull/10231


More information about the core-libs-dev mailing list