diff options
author | Jakub Zawadzki <darkjames@darkjames.pl> | 2014-04-24 21:56:31 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-04-25 04:13:02 +0000 |
commit | 75cb2675fd6b95d3635b0b2a81b0e2d8c1ad715f (patch) | |
tree | 306d2cd04613fb1642dc9e738ced2e20bd7ea7f5 /epan/tvbuff.c | |
parent | 6ec73981acd2aea4b8aeb6809fc23f5d044ffb5e (diff) |
Move mktime_utc() from tvbuff.c to wsutil/time_util.c
Also do little cleanup in mktime_utc (one big #ifndef)
Change-Id: I8f721ba76cad856cfef0a2d78e7f98686f8e4e3f
Reviewed-on: https://code.wireshark.org/review/1327
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/tvbuff.c')
-rw-r--r-- | epan/tvbuff.c | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/epan/tvbuff.c b/epan/tvbuff.c index 005cf46db8..df0c2878aa 100644 --- a/epan/tvbuff.c +++ b/epan/tvbuff.c @@ -43,6 +43,7 @@ #include "wsutil/sign_ext.h" #include "wsutil/unicode-utils.h" #include "wsutil/nstime.h" +#include "wsutil/time_util.h" #include "tvbuff.h" #include "tvbuff-int.h" #include "strutil.h" @@ -1355,46 +1356,6 @@ tvb_get_string_bytes(tvbuff_t *tvb, const gint offset, const gint length, return retval; } -/* converts a broken down date representation, relative to UTC, - * to a timestamp; it uses timegm() if it's available. - * Copied from Glib source gtimer.c - */ -static time_t -mktime_utc (struct tm *tm) -{ - time_t retval; - -#ifndef HAVE_TIMEGM - static const gint days_before[] = - { - 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 - }; - - int yr; -#endif - -#ifndef HAVE_TIMEGM - if (tm->tm_mon < 0 || tm->tm_mon > 11) - return (time_t) -1; - - retval = (tm->tm_year - 70) * 365; - - /* count number of leap years */ - yr = tm->tm_year + 1900; - if (tm->tm_mon + 1 < 3 && (yr % 4) == 0 && ((yr % 100) != 0 || (yr % 400) == 0)) - yr--; - retval += (((yr / 4) - (yr / 100) + (yr / 400)) - 477); /* 477 = ((1970 / 4) - (1970 / 100) + (1970 / 400)) */ - - retval += days_before[tm->tm_mon] + tm->tm_mday - 1; - - retval = ((((retval * 24) + tm->tm_hour) * 60) + tm->tm_min) * 60 + tm->tm_sec; -#else - retval = timegm (tm); -#endif /* !HAVE_TIMEGM */ - - return retval; -} - /* support hex-encoded time values? */ nstime_t* tvb_get_string_time(tvbuff_t *tvb, const gint offset, const gint length, |