summaryrefslogtreecommitdiff
path: root/gpsctl.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2015-04-28 18:07:54 -0700
committerGary E. Miller <gem@rellim.com>2015-04-28 18:09:29 -0700
commit838d9fefa4bef2469cf2c6e8ec908e949215d8ee (patch)
tree31959f15be5eb75e83585c0d86ce566fd4040cf0 /gpsctl.c
parent8559faf6866ec954fde105c32e4b07cb69bba64b (diff)
downloadgpsd-838d9fefa4bef2469cf2c6e8ec908e949215d8ee.tar.gz
Revert "Copy structs using assignment, not memcpy()."
This reverts commit d1965788249d7e22cdde4021d452cf0dc6c6b9bd. This breaks my build on Gentoo running gcc 4.9.2 libgps_shm.c: In function 'int gps_shm_read(gps_data_t*)': libgps_shm.c:122:12: error: no match for 'operator=' (operand types are 'gps_data_t' and 'volatile gps_data_t') noclobber = shared->gpsdata; ^ libgps_shm.c:122:12: note: candidate is: In file included from gpsd.h:350:0, from libgps_shm.c:30: gps.h:1918:8: note: gps_data_t& gps_data_t::operator=(const gps_data_t&) struct gps_data_t { ^ gps.h:1918:8: note: no known conversion for argument 1 from 'volatile gps_data_t' to 'const gps_data_t&'
Diffstat (limited to 'gpsctl.c')
-rw-r--r--gpsctl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gpsctl.c b/gpsctl.c
index fc588123..655999ad 100644
--- a/gpsctl.c
+++ b/gpsctl.c
@@ -400,7 +400,9 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
devicelist_entry_matches:;
}
- gpsdata.dev = gpsdata.devices.list[i];
+ (void)memcpy(&gpsdata.dev,
+ &gpsdata.devices.list[i],
+ sizeof(struct devconfig_t));
devcount = gpsdata.devices.ndevices;
/* if the device has not identified, watch it until it does so */