5becc8869c14b476f3b786c20640b71ea4a66067
[pspp-builds.git] / src / libpspp / start-date.c
1 /* PSPP - computes sample statistics.
2    Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
3    Written by Ben Pfaff <blp@gnu.org>.
4
5    This program is free software; you can redistribute it and/or
6    modify it under the terms of the GNU General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    License, or (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful, but
11    WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    General Public License for more details.
14
15    You should have received a copy of the GNU General Public License
16    along with this program; if not, write to the Free Software
17    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18    02110-1301, USA. */
19
20 #include <config.h>
21 #include "start-date.h"
22 #include <time.h>
23 #include "str.h"
24 #include "strftime.h"
25
26 /* Writes the current date into CUR_DATE in the format DD MMM
27    YYYY. */
28 static void
29 get_cur_date (char cur_date[12])
30 {
31   time_t now = time (NULL);
32   if (now != (time_t) -1) 
33     {
34       struct tm *tm = localtime (&now);
35       if (tm != NULL) 
36         {
37           strftime (cur_date, 12, "%d %b %Y", tm);
38           return;
39         }
40     }
41   strcpy (cur_date, "?? ??? 2???");
42 }
43
44 /* Returns the date at which PSPP was started, as a string in the
45    format DD MMM YYYY. */
46 const char *
47 get_start_date (void)
48 {
49   static char start_date[12];
50   if (start_date[0] == '\0')
51     get_cur_date (start_date);
52   return start_date; 
53 }