RFR: 8286562: GCC 12 reports some compiler warnings [v2]
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Thu May 12 01:11:39 UTC 2022
On Wed, 11 May 2022 14:27:27 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> src/java.base/share/native/libjli/java.c line 1629:
>>
>>> 1627: const char *arg = jargv[i];
>>> 1628: if (arg[0] == '-' && arg[1] == 'J') {
>>> 1629: *nargv++ = (arg[2] == '\0') ? NULL : JLI_StringDup(arg + 2);
>>
>> Wow!
>
> I wonder if the client expects NULL strings in the result, or if the NULL value should be an empty string? If empty strings are okay, this would be simpler without the conditional, just dup from arg + 2 to the terminating byte (which might be immediate).
`NULL` affects as a loop stopper in `ParseArguments()` as following:
static jboolean
ParseArguments(int *pargc, char ***pargv,
int *pmode, char **pwhat,
int *pret, const char *jrepath)
{
int argc = *pargc;
char **argv = *pargv;
int mode = LM_UNKNOWN;
char *arg;
*pret = 0;
while ((arg = *argv) != 0 && *arg == '-') {
But I'm not sure it is valid, I think it might be discussed as another issue.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8646
More information about the build-dev
mailing list