libxl: constify some local variables for building with glibc 2.43

Archlinux just updated glibc to 2.43+r5+g856c426a7534-1 and that
causes libxl build failure:

    libxl_cpuid.c: In function ‘libxl_cpuid_parse_config_xend’:
    libxl_cpuid.c:447:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
      447 |         endptr = strchr(str, '=');
          |                ^
    libxl_cpuid.c:452:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
      452 |         endptr = strchr(str, ',');
          |                ^
    libxl_cpuid.c:454:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
      454 |             endptr = strchr(str, 0);
          |                    ^
    cc1: all warnings being treated as errors

Add missing consts. Note in libxl_cpuid_parse_config_xend() non-const
endptr still is needed, to be compatible with the second argument to
strtoul(). Add second variable for this reason.

And while at it, move semicolon to its own line

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
Marek Marczykowski-Górecki authored and Jan Beulich committed 2026-02-26 13:31:48 +01:00
1 parent 70c47ec5d6
commit 44da0e3b4f
2 files changed
+13 -10

No files matched your search

+12 -9
View File
@@ -440,29 +440,32 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *policy,
str = endptr + 1;
entry = cpuid_find_match(policy, leaf, subleaf);
for (str = endptr + 1; *str != 0;) {
const char *endptrc;
if (str[0] != 'e' || str[2] != 'x') {
return 4;
}
value = str[1] - 'a';
endptr = strchr(str, '=');
if (value > 3 || endptr == NULL) {
endptrc = strchr(str, '=');
if (value > 3 || endptrc == NULL) {
return 4;
}
str = endptr + 1;
endptr = strchr(str, ',');
if (endptr == NULL) {
endptr = strchr(str, 0);
str = endptrc + 1;
endptrc = strchr(str, ',');
if (endptrc == NULL) {
endptrc = strchr(str, 0);
}
if (endptr - str != 32) {
if (endptrc - str != 32) {
return 5;
}
entry->policy[value] = calloc(32 + 1, 1);
strncpy(entry->policy[value], str, 32);
entry->policy[value][32] = 0;
if (*endptr == 0) {
if (*endptrc == 0) {
break;
}
for (str = endptr + 1; *str == ' ' || *str == '\n'; str++);
for (str = endptrc + 1; *str == ' ' || *str == '\n'; str++)
;
}
return 0;
}
+1 -1
View File
@@ -204,7 +204,7 @@ char *libxl__strndup(libxl__gc *gc, const char *c, size_t n)
char *libxl__dirname(libxl__gc *gc, const char *s)
{
char *c = strrchr(s, '/');
const char *c = strrchr(s, '/');
if (!c)
return NULL;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.