-/* Derived from getdate.c in glibc 2.3.6. This is pretty much
+/** @file lib/xgetdate.c
+ * @brief Date parsing
+ *
+ * Derived from getdate.c in glibc 2.3.6. This is pretty much
* standard getdate() except that you supply the template in an
* argument, rather than messing around with environment variables and
- * files. */
+ * files.
+ */
/* Convert a string representation of time to a time value.
Copyright (C) 1997,1998,1999,2000,2001,2003 Free Software Foundation, Inc.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#define _GNU_SOURCE 1 /* to expose strptime */
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "dateparse.h"
+#include "strptime.h"
#define TM_YEAR_BASE 1900
8 invalid input specification Example: February 31 or a time is
specified that can not be represented in a time_t (representing
the time in seconds since 00:00:00 UTC, January 1, 1970) */
-int xgetdate_err;
+/*int xgetdate_err;*/
/* Returns the first weekday WDAY of month MON in the year YEAR. */
const char *const *template)
{
const char *line;
- size_t len;
char *result = NULL;
time_t timer;
struct tm tm;
int mday_ok = 0;
line = NULL;
- len = 0;
while((line = *template++))
{
/* Do the conversion. */
tp->tm_isdst = -1;
tp->tm_gmtoff = 0;
tp->tm_zone = NULL;
- result = strptime (string, line, tp);
+ result = my_strptime (string, line, tp);
if (result && *result == '\0')
break;
}
}
-
+#if 0
struct tm *
xgetdate (const char *string, const char *const *template)
{
if (errval != 0)
{
- getdate_err = errval;
+ xgetdate_err = errval;
return NULL;
}
return &tmbuf;
}
+#endif