diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | intl/dcigettext.c | 6 | ||||
-rw-r--r-- | posix/tst-dir.c | 28 | ||||
-rw-r--r-- | time/Makefile | 4 | ||||
-rw-r--r-- | time/tst-mktime.c | 33 |
5 files changed, 70 insertions, 6 deletions
@@ -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 c6540b9..75aa03a 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 1eff3b5..74948af 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 b675f74..1a132cf 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 0000000..70c123c --- /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; +} |