summary refs log tree commit diff
path: root/time
diff options
context:
space:
mode:
Diffstat (limited to 'time')
-rw-r--r--time/Makefile4
-rw-r--r--time/tst-mktime.c33
2 files changed, 35 insertions, 2 deletions
diff --git a/time/Makefile b/time/Makefile
index b675f745ea..1a132cf751 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1991-1999, 2000, 2001 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
@@ -33,7 +33,7 @@ routines := offtime asctime clock ctime ctime_r difftime \
 distribute := datemsk
 
 tests	:= test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
-	   tst-getdate
+	   tst-getdate tst-mktime
 
 include ../Rules
 
diff --git a/time/tst-mktime.c b/time/tst-mktime.c
new file mode 100644
index 0000000000..70c123c3f9
--- /dev/null
+++ b/time/tst-mktime.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+
+int
+main (void)
+{
+  struct tm time_str;
+  char daybuf[20];
+  int result;
+
+  time_str.tm_year = 2001 - 1900;
+  time_str.tm_mon = 7 - 1;
+  time_str.tm_mday = 4;
+  time_str.tm_hour = 0;
+  time_str.tm_min = 0;
+  time_str.tm_sec = 1;
+  time_str.tm_isdst = -1;
+
+  if (mktime (&time_str) == -1)
+    {
+      (void) puts ("-unknown-");
+      result = 1;
+    }
+  else
+    {
+      (void) strftime (daybuf, sizeof (daybuf), "%A", &time_str);
+      (void) puts (daybuf);
+      result = strcmp (daybuf, "Wednesday") != 0;
+    }
+
+  return result;
+}