diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2011-03-18 13:22:31 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2011-03-18 13:22:31 -0400 |
commit | cd86d4410bcff417de15a0fc5eb905ef56c26596 (patch) | |
tree | 54b97075dc41737757b0c5d918c8fc5a0d694614 /cgps.c | |
parent | c00be23fbd4cf2aa23d85abc5ec68d31342c010d (diff) | |
download | gpsd-cd86d4410bcff417de15a0fc5eb905ef56c26596.tar.gz |
In the client API, take the data buffer out of the gpsdata_t structure.
tz has shown me that we had a point of brittleness where the size
of the client's data buffer was exposed in gps_data_t. Solution:
move it (and the data-waiting count) to the client's private-data
member. Requires a new but trivial client-library entry point to get
the buffer pointer when a client needs it.
Had to be done before API Version 5 froze, or we'd have been stuck breaking
a shipped API again.
No implications for the daemon or other tools, as this buffer is never
used there. (Except it gets rid of several K of never-used static
buffer space in the daemon, which is a good thing.)
All regression tests pass. Code splints clean. cgps (the only place
the API fix matters in our code) live-tests correctly.
Diffstat (limited to 'cgps.c')
-rw-r--r-- | cgps.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -693,7 +693,7 @@ static void update_gps_panel(struct gps_data_t *gpsdata) /* Be quiet if the user requests silence. */ if (!silent_flag && raw_flag) { - (void)waddstr(messages, gpsdata->buffer); + (void)waddstr(messages, gps_data(gpsdata)); } /* Reset the status_timer if the state has changed. */ |