summaryrefslogtreecommitdiff
path: root/libgps_sock.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgps_sock.c')
-rw-r--r--libgps_sock.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libgps_sock.c b/libgps_sock.c
index f9551940..ae4d45c3 100644
--- a/libgps_sock.c
+++ b/libgps_sock.c
@@ -566,18 +566,18 @@ int gps_sock_stream(struct gps_data_t *gpsdata, unsigned int flags,
}
int gps_sock_mainloop(struct gps_data_t *gpsdata, int timeout,
- int (*hook)(struct gps_data_t *gpsdata, bool))
+ void (*hook)(struct gps_data_t *gpsdata))
/* run a socket main loop with a specified handler */
{
for (;;) {
- if (!gps_sock_waiting(gpsdata, timeout)) {
- if ((*hook)(gpsdata, false) != 0)
- break;
+ if (!gps_waiting(gpsdata, timeout)) {
+ return -1;
} else {
- if (gps_sock_read(gpsdata) == -1 || (*hook)(gpsdata, true) != 0)
- break;
+ (void)gps_read(gpsdata);
+ (*hook)(gpsdata);
}
}
+ (void)gps_close(gpsdata);
return 0;
}