]> rtime.felk.cvut.cz Git - sojka/can-utils.git/commitdiff
cangen: allow double value for gap
authorOliver Hartkopp <socketcan@hartkopp.net>
Fri, 13 Jul 2012 05:36:52 +0000 (07:36 +0200)
committerOliver Hartkopp <socketcan@hartkopp.net>
Fri, 13 Jul 2012 05:36:52 +0000 (07:36 +0200)
This way a user can specify a gap below 1ms. This is somehwat similar
to setting the gap to 0, but the ENOBUFS are greatly reduced, so a given
amount of CAN messages by -n is still usefull and useable.

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
cangen.c

index 20cc921feb63c3482fdc27ba50cca0773d5f5e53..4f37808a97e779c9489867cc621b880417a68913 100644 (file)
--- a/cangen.c
+++ b/cangen.c
@@ -132,7 +132,7 @@ void sigterm(int signo)
 
 int main(int argc, char **argv)
 {
-       unsigned long gap = DEFAULT_GAP; 
+       double gap = DEFAULT_GAP;
        unsigned long polltimeout = 0;
        unsigned char ignore_enobufs = 0;
        unsigned char extended = 0;
@@ -173,7 +173,7 @@ int main(int argc, char **argv)
                        break;
 
                case 'g':
-                       gap = strtoul(optarg, NULL, 10);
+                       gap = strtod(optarg, NULL);
                        break;
 
                case 'e':
@@ -251,7 +251,7 @@ int main(int argc, char **argv)
        }
 
        ts.tv_sec = gap / 1000;
-       ts.tv_nsec = (gap % 1000) * 1000000;
+       ts.tv_nsec = ((int)(gap * 1000000)) % 1000000000;
 
        if (id_mode == MODE_FIX) {