Integrated: 8261300: jpackage: rewrite while(0)/while(false) to proper blocks
Aleksey Shipilev
shade at openjdk.java.net
Thu Feb 11 12:00:39 UTC 2021
On Mon, 8 Feb 2021 09:17:46 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
This pull request has now been integrated.
Changeset: 9fed6048
Author: Aleksey Shipilev <shade at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/9fed6048
Stats: 74 lines in 2 files changed: 0 ins; 4 del; 70 mod
8261300: jpackage: rewrite while(0)/while(false) to proper blocks
Reviewed-by: herrick, asemenyuk, almatvee
-------------
PR: https://git.openjdk.java.net/jdk/pull/2454
More information about the core-libs-dev
mailing list