Commit 572c8b96241ed99824e00aebf5fe7501d9be0654

Con Kolivas 2013-10-20T13:22:14

Do the ntime binary modification to the work struct when submitting an ntime offset nonce within submit_noffset_nonce

diff --git a/cgminer.c b/cgminer.c
index a4007f6..b3dacae 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -3574,9 +3574,16 @@ static void _copy_work(struct work *work, const struct work *base_work, int noff
 	if (base_work->nonce1)
 		work->nonce1 = strdup(base_work->nonce1);
 	if (base_work->ntime) {
-		if (noffset)
+		/* If we are passed an noffset the binary work->data ntime and
+		 * the work->ntime hex string need to be adjusted. */
+		if (noffset) {
+			uint32_t *work_ntime = (uint32_t *)(work->data + 68);
+			uint32_t ntime = be32toh(*work_ntime);
+
+			ntime += noffset;
+			*work_ntime = htobe32(ntime);
 			work->ntime = offset_ntime(base_work->ntime, noffset);
-		else
+		} else
 			work->ntime = strdup(base_work->ntime);
 	}
 	if (base_work->coinbase)