diff options
author | Gary E. Miller <gem@rellim.com> | 2019-03-25 19:28:21 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2019-03-25 19:28:21 -0700 |
commit | c700827479321d5a5ddf4275d390b3ad7ca53842 (patch) | |
tree | 953fd770b8c38bd7e2a304df56c47a52ce76f636 /gpsutils.c | |
parent | 3cc2e4cb35ff0f4d9d996e4b444d6c99ec1bd5aa (diff) | |
download | gpsd-c700827479321d5a5ddf4275d390b3ad7ca53842.tar.gz |
gpsutils: Add datum_code_string().
These datum codes seem standard, other drivers will use them.
Diffstat (limited to 'gpsutils.c')
-rw-r--r-- | gpsutils.c | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -662,4 +662,47 @@ bool nanowait(int fd, int nanoseconds) return pselect(fd + 1, &fdset, NULL, NULL, &to, NULL) == 1; } +/* Accept a datum code, return matching string + * + * There are a ton of these, only a few are here + * + */ +void datum_code_string(int code, char *buffer, size_t len) +{ + const char *datum_str; + + switch (code) { + case 0: + datum_str = "WGS84"; + break; + case 21: + datum_str = "WGS84"; + break; + case 178: + datum_str = "Tokyo Mean"; + break; + case 179: + datum_str = "Tokyo-Japan"; + break; + case 180: + datum_str = "Tokyo-Korea"; + break; + case 181: + datum_str = "Tokyo-Okinawa"; + break; + case 182: + datum_str = "PZ90.11"; + break; + default: + datum_str = NULL; + break; + } + + if (NULL == datum_str) { + /* Fake it */ + snprintf(buffer, len, "%d", code); + } else { + strlcpy(buffer, datum_str, len); + } +} /* end */ |