gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] [PATCH 5/6] Fixes usleep() and other issues in contrib/ progr


From: Fred Wright
Subject: [gpsd-dev] [PATCH 5/6] Fixes usleep() and other issues in contrib/ programs.
Date: Mon, 5 Sep 2016 18:09:27 -0700

1) Adds missing includes to binreplay and motosend, to get rid of
some warnings.

2) Replaces usleep() with gps_usleep() everywhere.

3) Adds explicit recipes for objects build from root dir,
mainly to avoid warnings about mixed build environments.

4) Removes references to ppscheck, which was moved to the root.

TESTED:
Ran "scons build-all check" in the root, and "scons" in contrib/,
under OSX.
---
 contrib/SConstruct  | 17 +++++++++++------
 contrib/ashctl.c    |  4 +++-
 contrib/binlog.c    |  4 +++-
 contrib/binreplay.c |  6 ++++--
 contrib/motosend.c  |  5 ++++-
 5 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/contrib/SConstruct b/contrib/SConstruct
index 5a0e9fc..013c359 100644
--- a/contrib/SConstruct
+++ b/contrib/SConstruct
@@ -3,11 +3,16 @@
 # won't get used on a daily basis, but someone might find them useful for
 # tinkering with their gear.
 
-ashctl = Program("ashctl", ["ashctl.c", "../strl.c"])
-binlog = Program("binlog", "binlog.c")
-binreplay = Program("binreplay", "binreplay.c", parse_flags=['-lutil'])
+# Note that "../gpsd_config.h" must already have been built.
+
+strl = StaticObject("strl", "../strl.c")
+gps_usleep = StaticObject("gps_usleep", "../gps_usleep.c")
+
+ashctl = Program("ashctl", ["ashctl.c", strl, gps_usleep])
+binlog = Program("binlog", ["binlog.c", gps_usleep])
+binreplay = Program("binreplay", ["binreplay.c", gps_usleep],
+                    parse_flags=['-lutil'])
 lla2ecef = Program("lla2ecef", "lla2ecef.c", parse_flags=['-lm'])
-motosend = Program("motosend", ["motosend.c", "../strl.c"])
-ppscheck = Program("ppscheck", "ppscheck.c")
+motosend = Program("motosend", ["motosend.c", strl, gps_usleep])
 
-Default(ashctl, binlog, binreplay, lla2ecef, motosend, ppscheck)
+Default(ashctl, binlog, binreplay, lla2ecef, motosend)
diff --git a/contrib/ashctl.c b/contrib/ashctl.c
index fdf04bf..e2e1b28 100644
--- a/contrib/ashctl.c
+++ b/contrib/ashctl.c
@@ -13,6 +13,8 @@
 #include <termios.h>
 #include <unistd.h>
 
+extern int gps_usleep(unsigned int useconds);
+
 #define MODE_RAW 0
 #define MODE_NORMAL 1
 #define ASHSPD_9600 5
@@ -167,7 +169,7 @@ static int nmea_send(int fd, const char *fmt, ... )
        tcflush(fd, TCIOFLUSH);
        status = (size_t)write(fd, buf, strlen(buf));
        tcdrain(fd);
-       usleep(100000);
+       gps_usleep(100000);
        if (status == strlen(buf)) {
                return (int)status;
        } else {
diff --git a/contrib/binlog.c b/contrib/binlog.c
index 3093732..f89847e 100644
--- a/contrib/binlog.c
+++ b/contrib/binlog.c
@@ -13,6 +13,8 @@
 #include <termios.h>
 #include <unistd.h>
 
+extern int gps_usleep(unsigned int useconds);
+
 void spinner(int );
 
 int main(int argc, char **argv) {
@@ -61,7 +63,7 @@ int main(int argc, char **argv) {
                int l = read(ifd, buf, BUFSIZ);
                if (l > 0)
                    assert(write(ofd, buf, l) > 0);
-               usleep(1000);
+               gps_usleep(1000);
                memset(buf, 0, BUFSIZ);
                spinner( n++ );
        }
diff --git a/contrib/binreplay.c b/contrib/binreplay.c
index 36389e0..a4111d5 100644
--- a/contrib/binreplay.c
+++ b/contrib/binreplay.c
@@ -13,13 +13,15 @@
 #include <termios.h>
 #include <unistd.h>
 #include <string.h>
+#include <stdlib.h>
 #ifndef __GLIBC__
   #include <util.h>
 #else
-  #include <stdlib.h>
   #include <pty.h>
 #endif
 
+extern int gps_usleep(unsigned int useconds);
+
 
 #define WRLEN 64
 void spinner(int);
@@ -117,7 +119,7 @@ int main( int argc, char **argv){
                        tcflush(sfd, TCIFLUSH);
                }
                spinner( len );
-               usleep(sleeptime);
+               gps_usleep(sleeptime);
        }
 
        munmap(buf, sb.st_size);
diff --git a/contrib/motosend.c b/contrib/motosend.c
index 0778fda..b454809 100644
--- a/contrib/motosend.c
+++ b/contrib/motosend.c
@@ -13,6 +13,9 @@
 #include <termios.h>
 #include <unistd.h>
 #include <limits.h>
+#include <time.h>
+
+extern int gps_usleep(unsigned int useconds);
 
 /* 
  * @@Cj - receiver ID
@@ -82,7 +85,7 @@ int main(int argc, char **argv) {
        tcflush(fd, TCIOFLUSH);
        t = 0; n = 0;
        while (1){
-               usleep(1000);
+               gps_usleep(1000);
                memset(buf, 0, BSIZ);
                if ((l = read(fd, buf, BSIZ)) == -1)
                        if (!(EINTR == errno || EAGAIN == errno))
-- 
2.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]