diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2010-01-13 07:20:02 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2010-01-13 07:20:02 +0000 |
commit | e2d11d64b584d5c7fa2a69d9cbdfa4f3cc9d0fe4 (patch) | |
tree | 063d795cbce2da3f165e995bf3ba20b589d8f806 /gpsdclient.c | |
parent | 19178965f484ddc11eabf098ba4d436a5d7c684d (diff) | |
download | gpsd-e2d11d64b584d5c7fa2a69d9cbdfa4f3cc9d0fe4.tar.gz |
IPv6 support is working.
Diffstat (limited to 'gpsdclient.c')
-rw-r--r-- | gpsdclient.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gpsdclient.c b/gpsdclient.c index 77d276a6..a67db7b2 100644 --- a/gpsdclient.c +++ b/gpsdclient.c @@ -152,8 +152,9 @@ void gpsd_source_spec(const char *arg, struct fixsource_t *source) if (colon1 != NULL) { char *colon2; *colon1 = '\0'; - if (colon1 != source->spec) + if (colon1 != source->spec) { source->server = source->spec; + } source->port = colon1 + 1; colon2 = strchr(source->port, ':'); if (colon2 != NULL) { @@ -166,6 +167,15 @@ void gpsd_source_spec(const char *arg, struct fixsource_t *source) source->server = source->spec; } } + + /*@-modobserver@*/ + if (*source->server == '[') { + char *rbrk = strchr(source->server, ']'); + ++source->server; + if (rbrk != NULL) + *rbrk = '\0'; + } + /*@+modobserver@*/ /*@+usedef@*/ } /*@ +observertrans -statictrans +mustfreeonly +branchstate +kepttrans @*/ |