Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 9 Jan 2001 01:04:59 +0000 (01:04 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 9 Jan 2001 01:04:59 +0000 (01:04 +0000)
* time/Makefile (tests): Add tst-mktime.
* time/tst-mktime.c: New file.

* posix/tst-dir.c (main): One more mkdir() test.

ChangeLog
intl/dcigettext.c
posix/tst-dir.c
time/Makefile
time/tst-mktime.c [new file with mode: 0644]

index 8b52653..7f4b570 100644 (file)
--- 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.
index c6540b9..75aa03a 100644 (file)
@@ -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)
index 1eff3b5..74948af 100644 (file)
@@ -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");
index b675f74..1a132cf 100644 (file)
@@ -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 (file)
index 0000000..70c123c
--- /dev/null
@@ -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;
+}