Initial revision
authorroland <roland>
Wed, 12 Jun 1991 19:44:22 +0000 (19:44 +0000)
committerroland <roland>
Wed, 12 Jun 1991 19:44:22 +0000 (19:44 +0000)
time/asctime.c [new file with mode: 0644]
time/ctime.c [new file with mode: 0644]
time/date.c [new file with mode: 0644]
time/difftime.c [new file with mode: 0644]

diff --git a/time/asctime.c b/time/asctime.c
new file mode 100644 (file)
index 0000000..917f3e7
--- /dev/null
@@ -0,0 +1,46 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the GNU C Library; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include <ansidecl.h>
+#include <localeinfo.h>
+#include <errno.h>
+#include <stdio.h>
+#include <time.h>
+
+
+/* Returns a string of the form "Day Mon dd hh:mm:ss yyyy\n"
+   which is the representation of TP in that form.  */
+char *
+DEFUN(asctime, (tp), CONST struct tm *tp)
+{
+  static char result[26];
+
+  if (tp == NULL)
+    {
+      errno = EINVAL;
+      return(NULL);
+    }
+
+  if (sprintf(result, "%.3s %.3s %2d %.2d:%.2d:%.2d %d\n",
+             _time_info->abbrev_wkday[tp->tm_wday],
+             _time_info->abbrev_month[tp->tm_mon],
+             tp->tm_mday, tp->tm_hour, tp->tm_min,
+             tp->tm_sec, 1900 + tp->tm_year) != sizeof(result) - 1)
+    return(NULL);
+
+  return(result);
+}
diff --git a/time/ctime.c b/time/ctime.c
new file mode 100644 (file)
index 0000000..4789b6e
--- /dev/null
@@ -0,0 +1,34 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the GNU C Library; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include <ansidecl.h>
+#undef __OPTIMIZE__    /* Avoid inline `ctime' function.  */
+#include <time.h>
+
+#undef ctime
+
+
+/* Return a string as returned by asctime which
+   is the representation of *T in that form.  */
+char *
+DEFUN(ctime, (t), CONST time_t *t)
+{
+  register struct tm *tp = localtime(t);
+  if (tp == NULL)
+    return NULL;
+  return asctime(tp);
+}
diff --git a/time/date.c b/time/date.c
new file mode 100644 (file)
index 0000000..9789ad3
--- /dev/null
@@ -0,0 +1,48 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the GNU C Library; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include <ansidecl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+
+/* Prints the date in the form "Day Mon dd hh:mm:ss ZZZ yyyy\n".
+   A simple test for localtime and strftime.  */
+int
+DEFUN(main, (argc, argv), int argc AND char **argv)
+{
+  time_t t = time(NULL);
+  register struct tm *tp = localtime(&t);
+  register char good = tp != NULL;
+
+  if (good)
+    {
+      char buf[BUFSIZ];
+      good = strftime(buf, sizeof(buf), "%a %b %d %X %Z %Y", tp);
+      if (good)
+       puts(buf);
+      else
+       perror("strftime");
+    }
+  else
+    perror("localtime");
+
+  exit(good ? EXIT_SUCCESS : EXIT_FAILURE);
+  return(good ? EXIT_SUCCESS : EXIT_FAILURE);
+}
diff --git a/time/difftime.c b/time/difftime.c
new file mode 100644 (file)
index 0000000..18424fd
--- /dev/null
@@ -0,0 +1,28 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the GNU C Library; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include <ansidecl.h>
+#include <time.h>
+
+
+/* Return the difference between TIME1 and TIME0.  */
+__CONSTVALUE
+double
+DEFUN(difftime, (time1, time0), time_t time1 AND time_t time0)
+{
+  return (double) (time1 - time0);
+}