diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2005-08-24 22:27:21 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2005-08-24 22:27:21 +0000 |
commit | d90d0f9e7c88766a943b53dc268d4421bad44ee9 (patch) | |
tree | 714c2d11c4c033e476b5fd6bba097fef59c6b2f5 /editcap.c | |
parent | 6f43fbb2f088438dae20d4007df830863391b1c6 (diff) | |
download | wireshark-d90d0f9e7c88766a943b53dc268d4421bad44ee9.tar.gz wireshark-d90d0f9e7c88766a943b53dc268d4421bad44ee9.tar.bz2 wireshark-d90d0f9e7c88766a943b53dc268d4421bad44ee9.zip |
fix usec -> nsec translation
svn path=/trunk/; revision=15521
Diffstat (limited to 'editcap.c')
-rw-r--r-- | editcap.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -406,32 +406,32 @@ int main(int argc, char *argv[]) /* assume that if the frame's tv_sec is 0, then * the timestamp isn't supported */ - if (phdr->ts.tv_sec > 0 && time_adj.tv.tv_sec != 0) { + if (phdr->ts.secs > 0 && time_adj.tv.tv_sec != 0) { snap_phdr = *phdr; if (time_adj.is_negative) - snap_phdr.ts.tv_sec -= time_adj.tv.tv_sec; + snap_phdr.ts.secs -= time_adj.tv.tv_sec; else - snap_phdr.ts.tv_sec += time_adj.tv.tv_sec; + snap_phdr.ts.secs += time_adj.tv.tv_sec; phdr = &snap_phdr; } /* assume that if the frame's tv_sec is 0, then * the timestamp isn't supported */ - if (phdr->ts.tv_sec > 0 && time_adj.tv.tv_usec != 0) { + if (phdr->ts.secs > 0 && time_adj.tv.tv_usec != 0) { snap_phdr = *phdr; if (time_adj.is_negative) { /* subtract */ - if (snap_phdr.ts.tv_usec < time_adj.tv.tv_usec) { /* borrow */ - snap_phdr.ts.tv_sec--; - snap_phdr.ts.tv_usec += ONE_MILLION; + if (snap_phdr.ts.nsecs/1000 < time_adj.tv.tv_usec) { /* borrow */ + snap_phdr.ts.secs--; + snap_phdr.ts.nsecs += ONE_MILLION * 1000; } - snap_phdr.ts.tv_usec -= time_adj.tv.tv_usec; + snap_phdr.ts.nsecs -= time_adj.tv.tv_usec * 1000; } else { /* add */ - if (snap_phdr.ts.tv_usec + time_adj.tv.tv_usec > ONE_MILLION) { + if (snap_phdr.ts.nsecs + time_adj.tv.tv_usec * 1000 > ONE_MILLION * 1000) { /* carry */ - snap_phdr.ts.tv_sec++; - snap_phdr.ts.tv_usec += time_adj.tv.tv_usec - ONE_MILLION; + snap_phdr.ts.secs++; + snap_phdr.ts.nsecs += (time_adj.tv.tv_usec - ONE_MILLION) * 1000; } else { - snap_phdr.ts.tv_usec += time_adj.tv.tv_usec; + snap_phdr.ts.nsecs += time_adj.tv.tv_usec * 1000; } } phdr = &snap_phdr; |