Jelajahi Sumber

Fix XDR functions for big-endian platforms

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@52036 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 13 tahun lalu
induk
melakukan
7a78e17562
1 mengubah file dengan 3 tambahan dan 2 penghapusan
  1. 3 2
      lib/raster/xdr.c

+ 3 - 2
lib/raster/xdr.c

@@ -1,4 +1,5 @@
 
+#include <stdlib.h>
 #include <grass/raster.h>
 
 #include "R.h"
@@ -13,7 +14,7 @@ static void swap_float(void *dstp, const void *srcp) {
 	dst[3] = src[0];
     }
     else
-	*dst = *src;
+	memcpy(dst, src, 4);
 }
 
 static void swap_double(void *dstp, const void *srcp) {
@@ -30,7 +31,7 @@ static void swap_double(void *dstp, const void *srcp) {
 	dst[7] = src[0];
     }
     else
-	*dst = *src;
+	memcpy(dst, src, 8);
 }
 
 void Rast_xdr_get_float(float *dst, const void *src)