~drizzle-trunk/drizzle/development

815.1.1 by Monty Taylor
Add timegm which is missing on Solaris.
1
/* Convert UTC calendar time to simple time.  Like mktime but assumes UTC.
2
3
   Copyright (C) 1994, 1997, 2003, 2004, 2006, 2007 Free Software
4
   Foundation, Inc.  This file is part of the GNU C Library.
5
6
   This program is free software; you can redistribute it and/or modify
7
   it under the terms of the GNU Lesser General Public License as published by
8
   the Free Software Foundation; either version 2, or (at your option)
9
   any later version.
10
11
   This program is distributed in the hope that it will be useful,
12
   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
   GNU Lesser General Public License for more details.
15
16
   You should have received a copy of the GNU Lesser General Public License
17
   along with this program; if not, write to the Free Software Foundation,
18
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
19
20
#ifndef _LIBC
21
# include <config.h>
22
#endif
23
815.1.6 by Monty Taylor
Some tweaks to get timegm working on Solaris.
24
#if TIME_WITH_SYS_TIME
25
# include <sys/time.h>
26
# include <time.h>
27
#else
28
# if HAVE_SYS_TIME_H
29
#  include <sys/time.h>
30
# else
31
#  include <time.h>
32
# endif
33
#endif
34
35
#include <gnulib/time.h>
815.1.1 by Monty Taylor
Add timegm which is missing on Solaris.
36
37
#ifndef _LIBC
38
# undef __gmtime_r
39
# define __gmtime_r gmtime_r
40
# define __mktime_internal mktime_internal
41
time_t __mktime_internal (struct tm *,
42
			  struct tm * (*) (time_t const *, struct tm *),
43
			  time_t *);
44
#endif
45
46
time_t
47
timegm (struct tm *tmp)
48
{
49
  static time_t gmtime_offset;
50
  tmp->tm_isdst = 0;
51
  return __mktime_internal (tmp, __gmtime_r, &gmtime_offset);
52
}