1999-04-28 Roland McGrath <roland@baalperazim.frob.com>
authorRoland McGrath <roland@gnu.org>
Wed, 28 Apr 1999 12:03:33 +0000 (12:03 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 28 Apr 1999 12:03:33 +0000 (12:03 +0000)
* sysdeps/mach/hurd/getdents.c (__getdirentries): Remove
implementation and just always fail with ENOSYS.  This entry point is
obsolete.  Add link warning to that effect.

ChangeLog
sysdeps/mach/hurd/getdents.c

index 1998513..0377dc1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1999-04-28  Roland McGrath  <roland@baalperazim.frob.com>
+
+       * sysdeps/mach/hurd/getdents.c (__getdirentries): Remove
+       implementation and just always fail with ENOSYS.  This entry point is
+       obsolete.  Add link warning to that effect.
+
 1999-04-27  Roland McGrath  <roland@baalperazim.frob.com>
 
        * hurd/get-host.c: Include <hurd/lookup.h>.
index 879d256..d331f31 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 94, 95, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1992,93,94,95,97,98,99 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
@@ -30,33 +30,12 @@ __getdirentries (int fd,
                 size_t nbytes,
                 off_t *basep)
 {
-  error_t err;
-  int entriesread;
-  char *data = buf;
-  mach_msg_type_number_t bytesread = nbytes;
-
-  /* Fault before taking any locks.  */
-  *(volatile off_t *) basep = *basep;
-
-  err = HURD_DPORT_USE (fd, __dir_readdir (port, &data, &bytesread,
-                                          *basep, -1, nbytes, &entriesread));
-  if (err)
-    return __hurd_dfail (fd, err);
-
-  if (data != buf)
-    {
-      size_t copy = bytesread;
-      if (copy > nbytes)
-       /* The server has a violated the dir_readdir protocol.  */
-       copy = nbytes;
-      memcpy (buf, data, copy);
-      __vm_deallocate (__mach_task_self (), (vm_address_t) data, bytesread);
-      bytesread = copy;
-    }
-
-  *basep += entriesread;
-
-  return bytesread;
+  /* Nothing should use this function.  Use readdir instead.  */
+  errno = ENOSYS;
+  return -1;
 }
 
 weak_alias (__getdirentries, getdirentries)
+
+link_warning(getdirentries, "\
+warning: getdirentries is obsolete and will always fail; use readdir instead")