1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
Description: Fix compilation on GCC 14
Author: Shengqi Chen <harry-chen@outlook.com>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1078240
Bug: https://github.com/truenas/py-libzfs/pull/277
Forwarded: yes
Last-Update: 2024-08-22
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/nvpair.pxi
+++ b/nvpair.pxi
@@ -59,7 +59,7 @@
datatype = nvpair.nvpair_type(pair)
if datatype == nvpair.DATA_TYPE_STRING:
- nvpair.nvpair_value_string(pair, &cstr)
+ nvpair.nvpair_value_string(pair, <const char**>&cstr)
return (<bytes>cstr).decode('utf-8')
if datatype == nvpair.DATA_TYPE_BOOLEAN:
@@ -139,7 +139,7 @@
return [x for x in (<uint64_t *>carray)[:carraylen]]
if datatype == nvpair.DATA_TYPE_STRING_ARRAY:
- nvpair.nvpair_value_string_array(pair, <char***>&carray, &carraylen)
+ nvpair.nvpair_value_string_array(pair, <const char***>&carray, &carraylen)
return [x for x in (<char**>carray)[:carraylen]]
if datatype == nvpair.DATA_TYPE_NVLIST:
@@ -255,7 +255,7 @@
for idx, i in enumerate(value):
(<char**>carray)[idx] = i
- nvpair.nvlist_add_string_array(self.handle, key, <char**>carray, len(value))
+ nvpair.nvlist_add_string_array(self.handle, key, <const char * const *>carray, len(value))
if typeid == nvpair.DATA_TYPE_BOOLEAN_ARRAY:
carray = malloc(len(value) * sizeof(char*))
@@ -334,7 +334,7 @@
cnvlist = <NVList>i
(<uintptr_t*>carray)[idx] = <uintptr_t>cnvlist.handle
- nvpair.nvlist_add_nvlist_array(self.handle, key, <nvpair.nvlist_t**>carray, len(value))
+ nvpair.nvlist_add_nvlist_array(self.handle, key, <const nvpair.nvlist_t* const *>carray, len(value))
if carray != NULL:
free(carray)
--- a/pxd/nvpair.pxd
+++ b/pxd/nvpair.pxd
@@ -102,8 +102,8 @@
int nvlist_add_uint32_array(nvlist_t *, const char *, uint32_t *, uint_t)
int nvlist_add_int64_array(nvlist_t *, const char *, int64_t *, uint_t)
int nvlist_add_uint64_array(nvlist_t *, const char *, uint64_t *, uint_t)
- int nvlist_add_string_array(nvlist_t *, const char *, char * const *, uint_t)
- int nvlist_add_nvlist_array(nvlist_t *, const char *, nvlist_t **, uint_t)
+ int nvlist_add_string_array(nvlist_t *, const char *, const char * const *, uint_t)
+ int nvlist_add_nvlist_array(nvlist_t *, const char *, const nvlist_t * const *, uint_t)
int nvlist_add_hrtime(nvlist_t *, const char *, hrtime_t)
int nvlist_add_double(nvlist_t *, const char *, double)
@@ -214,8 +214,8 @@
void fnvlist_add_uint32_array(nvlist_t *, const char *, uint32_t *, uint_t)
void fnvlist_add_int64_array(nvlist_t *, const char *, int64_t *, uint_t)
void fnvlist_add_uint64_array(nvlist_t *, const char *, uint64_t *, uint_t)
- void fnvlist_add_string_array(nvlist_t *, const char *, char * const *, uint_t)
- void fnvlist_add_nvlist_array(nvlist_t *, const char *, nvlist_t **, uint_t)
+ void fnvlist_add_string_array(nvlist_t *, const char *, const char * const *, uint_t)
+ void fnvlist_add_nvlist_array(nvlist_t *, const char *, const nvlist_t * const *, uint_t)
void fnvlist_remove(nvlist_t *, const char *)
void fnvlist_remove_nvpair(nvlist_t *, nvpair_t *)
@@ -407,7 +407,7 @@
int nvpair_value_uint32(nvpair_t *, uint32_t *)
int nvpair_value_int64(nvpair_t *, int64_t *)
int nvpair_value_uint64(nvpair_t *, uint64_t *)
- int nvpair_value_string(nvpair_t *, char **)
+ int nvpair_value_string(nvpair_t *, const char **)
int nvpair_value_nvlist(nvpair_t *, nvlist_t **)
int nvpair_value_boolean_array(nvpair_t *, boolean_t **, uint_t *)
int nvpair_value_byte_array(nvpair_t *, uchar_t **, uint_t *)
@@ -419,7 +419,7 @@
int nvpair_value_uint32_array(nvpair_t *, uint32_t **, uint_t *)
int nvpair_value_int64_array(nvpair_t *, int64_t **, uint_t *)
int nvpair_value_uint64_array(nvpair_t *, uint64_t **, uint_t *)
- int nvpair_value_string_array(nvpair_t *, char ***, uint_t *)
+ int nvpair_value_string_array(nvpair_t *, const char ***, uint_t *)
int nvpair_value_nvlist_array(nvpair_t *, nvlist_t ***, uint_t *)
int nvpair_value_hrtime(nvpair_t *, hrtime_t *)
int nvpair_value_double(nvpair_t *, double *)
--- a/libzfs.pyx
+++ b/libzfs.pyx
@@ -2895,9 +2895,9 @@
cdef char* msg_id
if self.handle != NULL:
IF HAVE_ZPOOL_GET_STATUS == 3:
- return PoolStatus(libzfs.zpool_get_status(self.handle, &msg_id, NULL))
+ return PoolStatus(libzfs.zpool_get_status(self.handle, <const char**>&msg_id, NULL))
ELSE:
- return PoolStatus(libzfs.zpool_get_status(self.handle, &msg_id))
+ return PoolStatus(libzfs.zpool_get_status(self.handle, <const char**>&msg_id))
def __warning_statuses(self):
return [
--- a/pxd/libzfs.pxd
+++ b/pxd/libzfs.pxd
@@ -277,9 +277,9 @@
extern int zpool_events_next(libzfs_handle_t *, nvpair.nvlist_t **, int *, unsigned, int);
IF HAVE_ZPOOL_GET_STATUS == 3 and HAVE_ZPOOL_ERRATA_T_ENUM:
- extern zpool_status_t zpool_get_status(zpool_handle_t *, char **, zfs.zpool_errata_t *)
+ extern zpool_status_t zpool_get_status(zpool_handle_t *, const char **, zfs.zpool_errata_t *)
ELSE:
- extern zpool_status_t zpool_get_status(zpool_handle_t *, char **)
+ extern zpool_status_t zpool_get_status(zpool_handle_t *, const char **)
extern zpool_status_t zpool_import_status(nvpair.nvlist_t *, char **)
extern void zpool_dump_ddt(const zfs.ddt_stat_t *dds, const zfs.ddt_histogram_t *ddh)
|