]> rtime.felk.cvut.cz Git - sojka/can-utils.git/blobdiff - cangen.c
cangen: allow double value for gap
[sojka/can-utils.git] / 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) {