46 lines
2.2 KiB
Diff
46 lines
2.2 KiB
Diff
|
From ea590c2f94b1ce93e6873cf712beb0e3d92b4e9b Mon Sep 17 00:00:00 2001
|
||
|
From: Orion Poplawski <orion@nwra.com>
|
||
|
Date: Wed, 8 May 2024 20:50:22 -0600
|
||
|
Subject: [PATCH] Fix incompatbile pointer argument to nc_put_att_string()
|
||
|
|
||
|
---
|
||
|
include/netCDF4.pxi | 2 +-
|
||
|
src/netCDF4/_netCDF4.pyx | 4 ++--
|
||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/include/netCDF4.pxi b/include/netCDF4.pxi
|
||
|
index 00d883662..9404171db 100644
|
||
|
--- a/include/netCDF4.pxi
|
||
|
+++ b/include/netCDF4.pxi
|
||
|
@@ -263,7 +263,7 @@ cdef extern from "netcdf.h":
|
||
|
size_t len, void *op) nogil
|
||
|
int nc_get_att(int ncid, int varid, char *name, void *ip) nogil
|
||
|
int nc_get_att_string(int ncid, int varid, char *name, char **ip) nogil
|
||
|
- int nc_put_att_string(int ncid, int varid, char *name, size_t len, char **op) nogil
|
||
|
+ int nc_put_att_string(int ncid, int varid, char *name, size_t len, const char **op) nogil
|
||
|
int nc_def_opaque(int ncid, size_t size, char *name, nc_type *xtypep) nogil
|
||
|
int nc_inq_opaque(int ncid, nc_type xtype, char *name, size_t *sizep) nogil
|
||
|
int nc_put_att_opaque(int ncid, int varid, char *name,
|
||
|
diff --git a/src/netCDF4/_netCDF4.pyx b/src/netCDF4/_netCDF4.pyx
|
||
|
index 640ab6846..b957f4e35 100644
|
||
|
--- a/src/netCDF4/_netCDF4.pyx
|
||
|
+++ b/src/netCDF4/_netCDF4.pyx
|
||
|
@@ -1796,7 +1796,7 @@ be raised in the next release."""
|
||
|
string_ptrs[j] = strings[j]
|
||
|
issue485_workaround(grpid, varid, attname)
|
||
|
with nogil:
|
||
|
- ierr = nc_put_att_string(grpid, varid, attname, N, string_ptrs)
|
||
|
+ ierr = nc_put_att_string(grpid, varid, attname, N, <const char**>string_ptrs)
|
||
|
finally:
|
||
|
PyMem_Free(string_ptrs)
|
||
|
else:
|
||
|
@@ -1825,7 +1825,7 @@ be raised in the next release."""
|
||
|
except UnicodeError:
|
||
|
issue485_workaround(grpid, varid, attname)
|
||
|
with nogil:
|
||
|
- ierr = nc_put_att_string(grpid, varid, attname, 1, &datstring)
|
||
|
+ ierr = nc_put_att_string(grpid, varid, attname, 1, <const char**>&datstring)
|
||
|
else:
|
||
|
with nogil:
|
||
|
ierr = nc_put_att_text(grpid, varid, attname, lenarr, datstring)
|