Commit 8d81f1d20704c00dea3754f03010ea5000b37635

Con Kolivas 2013-04-22T09:28:06

Provide a flip128 helper to simplify big endian flipping.

diff --git a/cgminer.c b/cgminer.c
index cf43719..50b36a3 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -2440,9 +2440,7 @@ static bool submit_upstream_work(struct work *work, CURL *curl, bool resubmit)
 	cgpu = get_thr_cgpu(thr_id);
 
 #ifdef __BIG_ENDIAN__
-        int swapcounter = 0;
-        for (swapcounter = 0; swapcounter < 32; swapcounter++)
-            (((uint32_t*) (work->data))[swapcounter]) = swab32(((uint32_t*) (work->data))[swapcounter]);
+	flip128(work->data, work->data);
 #endif
 
 	/* build hex string */
diff --git a/miner.h b/miner.h
index 2d2e709..243b4d2 100644
--- a/miner.h
+++ b/miner.h
@@ -660,6 +660,16 @@ static inline void flip80(void *dest_p, const void *src_p)
 		dest[i] = swab32(src[i]);
 }
 
+static inline void flip128(void *dest_p, const void *src_p)
+{
+	uint32_t *dest = dest_p;
+	const uint32_t *src = src_p;
+	int i;
+
+	for (i = 0; i < 32; i++)
+		dest[i] = swab32(src[i]);
+}
+
 extern void quit(int status, const char *format, ...);
 
 static inline void mutex_lock(pthread_mutex_t *lock)