diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-08-27 11:48:19 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-08-27 11:48:19 +0000 |
commit | 2e4cec8f9ff75c03bc5adf55ef3dbf4441c58d37 (patch) | |
tree | 5b6d7e763d3fa1a0df44f7dc29a56cfeb43a948e /rtcm2_json.c | |
parent | fcc0c3151ed5917fd55852ce41bedb12d8a9f5cd (diff) | |
download | gpsd-2e4cec8f9ff75c03bc5adf55ef3dbf4441c58d37.tar.gz |
Checkpoint before trying to factor out some JSON attribute-initialization hair.
Diffstat (limited to 'rtcm2_json.c')
-rw-r--r-- | rtcm2_json.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/rtcm2_json.c b/rtcm2_json.c index 523d3d2a..7bd7b7cd 100644 --- a/rtcm2_json.c +++ b/rtcm2_json.c @@ -39,13 +39,15 @@ int json_rtcm2_read(const char *buf, {"length", uinteger, .addr.uinteger = &rtcm2->length}, \ {"station_health", uinteger, .addr.uinteger = &rtcm2->stathlth}, +#define STRUCTOBJECT(s, f) .addr.offset=offsetof(s, f) + int status, satcount; const struct json_attr_t json_rtcm1_satellite[] = { - {"ident", uinteger, .addr.offset=offsetof(struct rangesat_t, ident)}, - {"udre", uinteger, .addr.offset=offsetof(struct rangesat_t, udre)}, - {"issuedata", real, .addr.offset=offsetof(struct rangesat_t, issuedata)}, - {"rangerr", real, .addr.offset=offsetof(struct rangesat_t, rangerr)}, - {"rangerate", real, .addr.offset=offsetof(struct rangesat_t, rangerate)}, + {"ident", uinteger, STRUCTOBJECT(struct rangesat_t, ident)}, + {"udre", uinteger, STRUCTOBJECT(struct rangesat_t, udre)}, + {"issuedata", real, STRUCTOBJECT(struct rangesat_t, issuedata)}, + {"rangerr", real, STRUCTOBJECT(struct rangesat_t, rangerr)}, + {"rangerate", real, STRUCTOBJECT(struct rangesat_t, rangerate)}, {NULL}, }; const struct json_attr_t json_rtcm1[] = { @@ -118,6 +120,7 @@ int json_rtcm2_read(const char *buf, {NULL}, }; +#undef STRUCTOBJECT #undef RTCM2_HEADER memset(rtcm2, '\0', sizeof(struct rtcm2_t)); |