There is no need for work to be a union in struct workio_cmd
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
diff --git a/cgminer.c b/cgminer.c
index 69181b0..4774797 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -69,9 +69,7 @@ enum workio_commands {
struct workio_cmd {
enum workio_commands cmd;
struct thr_info *thr;
- union {
- struct work *work;
- } u;
+ struct work *work;
bool lagging;
};
@@ -1906,7 +1904,7 @@ static void workio_cmd_free(struct workio_cmd *wc)
switch (wc->cmd) {
case WC_SUBMIT_WORK:
- free_work(wc->u.work);
+ free_work(wc->work);
break;
default: /* do nothing */
break;
@@ -2217,7 +2215,7 @@ static void check_solve(struct work *work)
static void *submit_work_thread(void *userdata)
{
struct workio_cmd *wc = (struct workio_cmd *)userdata;
- struct work *work = wc->u.work;
+ struct work *work = wc->work;
struct pool *pool = work->pool;
struct curl_ent *ce;
int failures = 0;
@@ -3849,11 +3847,11 @@ bool submit_work_sync(struct thr_info *thr, const struct work *work_in)
return false;
}
- wc->u.work = make_work();
+ wc->work = make_work();
wc->cmd = WC_SUBMIT_WORK;
wc->thr = thr;
- memcpy(wc->u.work, work_in, sizeof(*work_in));
- wc->u.work->share_found_time = time(NULL);
+ memcpy(wc->work, work_in, sizeof(*work_in));
+ wc->work->share_found_time = time(NULL);
applog(LOG_DEBUG, "Pushing submit work to work thread");