Import upstream version 1.28
[debian/tar] / gnu / time_r.c
1 /* -*- buffer-read-only: t -*- vi: set ro: */
2 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3 /* Reentrant time functions like localtime_r.
4
5    Copyright (C) 2003, 2006-2007, 2010-2014 Free Software Foundation, Inc.
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3, or (at your option)
10    any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License along
18    with this program; if not, see <http://www.gnu.org/licenses/>.  */
19
20 /* Written by Paul Eggert.  */
21
22 #include <config.h>
23
24 #include <time.h>
25
26 static struct tm *
27 copy_tm_result (struct tm *dest, struct tm const *src)
28 {
29   if (! src)
30     return 0;
31   *dest = *src;
32   return dest;
33 }
34
35
36 struct tm *
37 gmtime_r (time_t const * restrict t, struct tm * restrict tp)
38 {
39   return copy_tm_result (tp, gmtime (t));
40 }
41
42 struct tm *
43 localtime_r (time_t const * restrict t, struct tm * restrict tp)
44 {
45   return copy_tm_result (tp, localtime (t));
46 }