summaryrefslogtreecommitdiff
path: root/rtcm2_json.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-08-27 11:48:19 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-08-27 11:48:19 +0000
commit2e4cec8f9ff75c03bc5adf55ef3dbf4441c58d37 (patch)
tree5b6d7e763d3fa1a0df44f7dc29a56cfeb43a948e /rtcm2_json.c
parentfcc0c3151ed5917fd55852ce41bedb12d8a9f5cd (diff)
downloadgpsd-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.c13
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));