]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
Allow to have 4, 5 or 6 decimal places instead of only 4 & 6.
authorhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Tue, 11 May 2010 10:01:49 +0000 (10:01 +0000)
committerhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Tue, 11 May 2010 10:01:49 +0000 (10:01 +0000)
git-svn-id: svn://svn.berlios.de//socketcan/trunk@1176 030b6a49-0b11-0410-94ab-b0dab22257f2

can-utils/asc2log.c

index e6f82d3c13b7c6adca95ea978c5a9cd754609bd3..32838f96161ad244ae32d8f69a3939829a6bbbbb 100644 (file)
@@ -97,6 +97,9 @@ void calc_tv(struct timeval *tv, struct timeval *read_tv,
        if (dplace == 4) /* shift values having only 4 decimal places */
                read_tv->tv_usec *= 100;                /* and need for 6 */
 
+       if (dplace == 5) /* shift values having only 5 decimal places */
+               read_tv->tv_usec *= 10;                /* and need for 6 */
+
        if (timestamps == 'a') { /* absolute */
 
                tv->tv_sec  = date_tv->tv_sec  + read_tv->tv_sec;
@@ -172,7 +175,7 @@ int main(int argc, char **argv)
        static struct timeval tv; /* current frame timestamp */
        static struct timeval read_tv; /* frame timestamp from ASC file */
        static struct timeval date_tv; /* date of the ASC file */
-       static int dplace; /* decimal place 4 or 6 or uninitialized */
+       static int dplace; /* decimal place 4, 5 or 6 or uninitialized */
        static char base; /* 'd'ec or 'h'ex */
        static char timestamps; /* 'a'bsolute or 'r'elative */
 
@@ -262,8 +265,8 @@ int main(int argc, char **argv)
                                dplace = strlen(tmp2);
                                if (verbose)
                                        printf("decimal place %d, e.g. '%s'\n", dplace, tmp2);
-                               if ((dplace != 4) && (dplace != 6)) {
-                                       printf("invalid dplace %d (must be 4 or 6)!\n", dplace);
+                               if (dplace < 4 || dplace > 6) {
+                                       printf("invalid dplace %d (must be 4, 5 or 6)!\n", dplace);
                                        return 1;
                                }
                        } else