/* SUPPRESS 288 on yyerrlab *//* Label unused */
#ifdef HAVE_CONFIG_H
-#if defined (emacs) || defined (CONFIG_BROKETS)
#include <config.h>
-#else
-#include "config.h"
-#endif
#endif
/* Since the code of getdate.y is not included in the Emacs executable
#include <stdio.h>
#include <ctype.h>
-/* The code at the top of get_date which figures out the offset of the
- current time zone checks various CPP symbols to see if special
- tricks are need, but defaults to using the gettimeofday system call.
- Include <sys/time.h> if that will be used. */
-
#if defined (vms)
-
#include <types.h>
#include <time.h>
-
#else
-
#include <sys/types.h>
-
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#if defined (HAVE_SYS_TIMEB_H)
#include <sys/timeb.h>
#else
-/*
-** We use the obsolete `struct timeb' as part of our interface!
-** Since the system doesn't have it, we define it here;
-** our callers must do likewise.
-*/
-struct timeb {
+
+/* get_date uses the obsolete `struct timeb' in its interface! FIXME.
+ Since some systems don't have it, we define it here;
+ callers must do likewise. */
+struct timeb
+ {
time_t time; /* Seconds since the epoch */
unsigned short millitm; /* Field not used */
short timezone; /* Minutes west of GMT */
case MERam:
if (Hours < 1 || Hours > 12)
return -1;
+ if (Hours == 12)
+ Hours = 0;
return (Hours * 60L + Minutes) * 60L + Seconds;
case MERpm:
if (Hours < 1 || Hours > 12)
return -1;
+ if (Hours == 12)
+ Hours = 0;
return ((Hours + 12) * 60L + Minutes) * 60L + Seconds;
default:
abort ();
int ac;
char *av[];
{
- char buff[128];
- time_t d;
+ char buff[MAX_BUFF_LEN + 1];
+ time_t d;
(void)printf ("Enter date, or blank line to exit.\n\t> ");
(void)fflush (stdout);
+
+ buff[MAX_BUFF_LEN] = 0;
while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) {
d = get_date (buff, (struct timeb *)NULL);
if (d == -1)