RFR: 8261300: jpackage: rewrite while(0)/while(false) to proper blocks [v2]
Alexander Matveev
almatvee at openjdk.java.net
Tue Feb 9 00:08:42 UTC 2021
On Mon, 8 Feb 2021 15:25:02 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> After JDK-8254702, SonarCloud instance complains about blocks like these: "Change this loop body so that it can be executed more than once."
>>
>> int initJvmlLauncherData(JvmlLauncherData* ptr) const {
>> // Store path to JLI library just behind JvmlLauncherData header.
>> char* curPtr = reinterpret_cast<char*>(ptr + 1);
>> do {
>> const size_t count = sizeof(char)
>> * (jliLibPath.size() + 1 /* trailing zero */);
>> if (ptr) {
>> std::memcpy(curPtr, jliLibPath.c_str(), count);
>> ptr->jliLibPath = curPtr;
>> }
>> curPtr += count;
>> } while (false); // <---- here
>>
>> There is no sense in having `while(false)` here, where the syntactic `{}` block would do. There are also other uses in the jpackage code that employ `while(0)` for this, and then they also trigger the inspection about the implicit conversion of zero int to boolean.
>>
>> Additional testing:
>> - [x] Linux x86_64 (Ubuntu) tools/jpackage
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>
> More cleanup in tstrings.cpp
Marked as reviewed by almatvee (Committer).
-------------
PR: https://git.openjdk.java.net/jdk/pull/2454
More information about the core-libs-dev
mailing list