Mercurial > hg > octave-kai > gnulib-hg
annotate lib/timegm.c @ 10622:ac6f431cc95d
New module 'fclose'.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 11 Oct 2008 14:18:29 +0200 |
parents | b31580167c2b |
children | 465038ef6bc4 |
rev | line source |
---|---|
4621
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
1 /* Convert UTC calendar time to simple time. Like mktime but assumes UTC. |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
2 |
8146
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
3 Copyright (C) 1994, 1997, 2003, 2004, 2006, 2007 Free Software |
7302
8a1a9361108c
* _fpending.c: Include <config.h> unconditionally, since we no
Paul Eggert <eggert@cs.ucla.edu>
parents:
5848
diff
changeset
|
4 Foundation, Inc. This file is part of the GNU C Library. |
4616 | 5 |
6 This program is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU 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 General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with this program; if not, write to the Free Software Foundation, | |
5848
a48fb0e98c8c
*** empty log message ***
Paul Eggert <eggert@cs.ucla.edu>
parents:
4931
diff
changeset
|
18 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ |
4616 | 19 |
8146
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
20 #ifndef _LIBC |
7302
8a1a9361108c
* _fpending.c: Include <config.h> unconditionally, since we no
Paul Eggert <eggert@cs.ucla.edu>
parents:
5848
diff
changeset
|
21 # include <config.h> |
8146
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
22 #endif |
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
23 |
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
24 #include <time.h> |
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
25 |
b31580167c2b
New module 'time', so that apps can include <time.h> as per
Paul Eggert <eggert@cs.ucla.edu>
parents:
7302
diff
changeset
|
26 #ifndef _LIBC |
4621
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
27 # undef __gmtime_r |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
28 # define __gmtime_r gmtime_r |
4931
3743557233a8
(__mktime_internal) [!_LIBC]: Define to mktime_internal
Jim Meyering <jim@meyering.net>
parents:
4621
diff
changeset
|
29 # define __mktime_internal mktime_internal |
4621
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
30 time_t __mktime_internal (struct tm *, |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
31 struct tm * (*) (time_t const *, struct tm *), |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
32 time_t *); |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
33 #endif |
4616 | 34 |
35 time_t | |
4621
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
36 timegm (struct tm *tmp) |
4616 | 37 { |
4621
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
38 static time_t gmtime_offset; |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
39 tmp->tm_isdst = 0; |
3d28ad4e18e2
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
Paul Eggert <eggert@cs.ucla.edu>
parents:
4616
diff
changeset
|
40 return __mktime_internal (tmp, __gmtime_r, &gmtime_offset); |
4616 | 41 } |