File netcdf-4.0.1-strict-aliasing.patch of Package netcdf

--- libsrc/posixio.c
+++ libsrc/posixio.c
@@ -404,7 +404,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;
 
@@ -603,7 +603,7 @@
 	pxp->bf_rflags |= rflags;
 	pxp->bf_refcount++;
 
-	*vpp = (char *)pxp->bf_base + diff;
+	*vpp = pxp->bf_base + diff;
 	return ENOERR;
 }
 
@@ -631,7 +631,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;
 	
@@ -662,8 +662,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",
@@ -816,7 +816,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;
@@ -1054,7 +1054,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;
@@ -1116,7 +1116,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
@@ -1243,7 +1243,7 @@
 	extent = diff + nbytes;
 
 	status = ncio_spx_get(nciop, lower, extent, RGN_WRITE|rflags,
-			(void **)&base);
+			&base);
 
 	if(status != ENOERR)
 		return status;
openSUSE Build Service is sponsored by