File netcdf-4.0-strict-aliasing.patch of Package netcdf
--- libsrc/posixio.c 2007-07-25 15:10:33.000000000 +0200
+++ libsrc/posixio.c 2007-07-25 15:48:55.000000000 +0200
@@ -401,7 +401,7 @@
px_get(ncio *const nciop, ncio_px *const pxp,
off_t offset, size_t extent,
int rflags,
- void **const vpp)
+ char **const vpp)
{
int status = ENOERR;
@@ -600,7 +600,7 @@
pxp->bf_rflags |= rflags;
pxp->bf_refcount++;
- *vpp = (char *)pxp->bf_base + diff;
+ *vpp = pxp->bf_base + diff;
return ENOERR;
}
@@ -628,7 +628,7 @@
ncio_px_get(ncio *const nciop,
off_t offset, size_t extent,
int rflags,
- void **const vpp)
+ char **const vpp)
{
ncio_px *const pxp = (ncio_px *)nciop->pvt;
@@ -659,8 +659,8 @@
{
ncio_px *const pxp = (ncio_px *)nciop->pvt;
int status = ENOERR;
- void *src;
- void *dest;
+ char *src;
+ char *dest;
#if INSTRUMENT
fprintf(stderr, "\tdouble_buffr %ld %ld %ld\n",
@@ -813,7 +813,7 @@
fprintf(stderr, "\tncio_px_move small\n");
#endif
status = px_get(nciop, pxp, lower, extent, RGN_WRITE|rflags,
- (void **)&base);
+ &base);
if(status != ENOERR)
return status;
@@ -1051,7 +1051,7 @@
ncio_spx_get(ncio *const nciop,
off_t offset, size_t extent,
int rflags,
- void **const vpp)
+ char **const vpp)
{
ncio_spx *const pxp = (ncio_spx *)nciop->pvt;
int status = ENOERR;
@@ -1113,7 +1113,7 @@
pxp->bf_cnt = extent;
#ifdef X_ALIGN
- *vpp = (char *)pxp->bf_base + rem;
+ *vpp = pxp->bf_base + rem;
#else
*vpp = pxp->bf_base;
#endif
@@ -1240,7 +1240,7 @@
extent = diff + nbytes;
status = ncio_spx_get(nciop, lower, extent, RGN_WRITE|rflags,
- (void **)&base);
+ &base);
if(status != ENOERR)
return status;