summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-01-09 01:04:59 +0000
committerUlrich Drepper <drepper@redhat.com>2001-01-09 01:04:59 +0000
commit354e6102a11f6ce2e39462c158b039a07f18ac7c (patch)
treed0b61e9e76e22cfea34f764e090d8a659ae45380
parentf93e323f9e627ae8403ad2fc64663793153bf7ec (diff)
Update.
* time/Makefile (tests): Add tst-mktime. * time/tst-mktime.c: New file. * posix/tst-dir.c (main): One more mkdir() test.
-rw-r--r--ChangeLog5
-rw-r--r--intl/dcigettext.c6
-rw-r--r--posix/tst-dir.c28
-rw-r--r--time/Makefile4
-rw-r--r--time/tst-mktime.c33
5 files changed, 70 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b52653e2a..7f4b5709ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2001-01-08 Ulrich Drepper <drepper@redhat.com>
+ * time/Makefile (tests): Add tst-mktime.
+ * time/tst-mktime.c: New file.
+
+ * posix/tst-dir.c (main): One more mkdir() test.
+
* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
Remove getpagesize syscall. We assume that the pagesize is always
determined from the auxiliary vector.
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index c6540b9ab0..75aa03a45f 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -1,5 +1,5 @@
/* Implementation of the internal dcigettext function.
- Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -658,7 +658,7 @@ _nl_find_msg (domain_file, msgid, lengthp)
const char *msgid;
size_t *lengthp;
{
- const struct loaded_domain *domain;
+ struct loaded_domain *domain;
size_t act;
char *result;
size_t resultlen;
@@ -669,7 +669,7 @@ _nl_find_msg (domain_file, msgid, lengthp)
if (domain_file->data == NULL)
return NULL;
- domain = (const struct loaded_domain *) domain_file->data;
+ domain = (struct loaded_domain *) domain_file->data;
/* Locate the MSGID and its translation. */
if (domain->hash_size > 2 && domain->hash_tab != NULL)
diff --git a/posix/tst-dir.c b/posix/tst-dir.c
index 1eff3b5e06..74948af140 100644
--- a/posix/tst-dir.c
+++ b/posix/tst-dir.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
@@ -518,6 +518,32 @@ main (int argc, char *argv[])
result = 1;
}
+ /* One more test before we leave: mkdir() is supposed to fail with
+ EEXIST if the named file is a symlink. */
+ if (symlink ("a-symlink", "a-symlink") != 0)
+ {
+ printf ("cannot create symlink \"a-symlink\": %m\n");
+ result = 1;
+ }
+ else
+ {
+ if (mkdir ("a-symlink", 0666) == 0)
+ {
+ puts ("can make directory \"a-symlink\"");
+ result = 1;
+ }
+ else if (errno != EEXIST)
+ {
+ puts ("mkdir(\"a-symlink\") does not fail with EEXIST\n");
+ result = 1;
+ }
+ if (unlink ("a-symlink") < 0)
+ {
+ printf ("cannot unlink \"a-symlink\": %m\n");
+ result = 1;
+ }
+ }
+
if (chdir (srcdir) < 0)
{
printf ("cannot change back to source directory: %m\n");
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;
+}