Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 16 Jun 1999 14:31:04 +0000 (14:31 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 16 Jun 1999 14:31:04 +0000 (14:31 +0000)
1999-06-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

* sysdeps/unix/sysv/linux/sys/sysmacros.h [!__GNUC__]: Use correct
word order.
* sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h: New file.
* sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h: New file.

1999-06-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

* db2/db/db.c: Restore __nss_db_open alias.
* db2/db_int.h: Use <db.h> instead of "db.h" to find header in
include.
* db2/os/os_rw.c (__os_write): Maintain const correctness.
* db2/progs/db_load/db_load.c (main): Avoid ambiguous `else'.

ChangeLog
db2/db/db.c
db2/db_int.h
db2/os/os_rw.c
db2/progs/db_load/db_load.c
sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sys/sysmacros.h

index dbc8982..e9fa817 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+1999-06-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * sysdeps/unix/sysv/linux/sys/sysmacros.h [!__GNUC__]: Use correct
+       word order.
+       * sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h: New file.
+       * sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h: New file.
+
+1999-06-15  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * db2/db/db.c: Restore __nss_db_open alias.
+       * db2/db_int.h: Use <db.h> instead of "db.h" to find header in
+       include.
+       * db2/os/os_rw.c (__os_write): Maintain const correctness.
+       * db2/progs/db_load/db_load.c (main): Avoid ambiguous `else'.
+
 1999-06-15  Ulrich Drepper  <drepper@cygnus.com>
 
        * stdio-common/printf-parse.h (parse_one_spec): Don't set
index 2b4c270..9f79fd6 100644 (file)
@@ -84,6 +84,11 @@ static const char sccsid[] = "@(#)db.c       10.75 (Sleepycat) 12/3/98";
                }                                                       \
 }
 
+#ifdef _LIBC
+#define db_open(fname, type, flags, mode, dbenv, dbinfo, dbpp) \
+  __nss_db_open(fname, type, flags, mode, dbenv, dbinfo, dbpp)
+#endif
+
 /*
  * db_open --
  *     Main library interface to the DB access methods.
@@ -710,6 +715,11 @@ err:       /* Close the file descriptor. */
        return (ret);
 }
 
+#ifdef _LIBC
+# undef db_open
+weak_alias (__nss_db_open, db_open)
+#endif
+
 /*
  * __db_close --
  *     Close a DB tree.
index 0016240..4c2e794 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef _DB_INTERNAL_H_
 #define        _DB_INTERNAL_H_
 
-#include "db.h"                                /* Standard DB include file. */
+#include <db.h>                                /* Standard DB include file. */
 #include "queue.h"
 #include "shqueue.h"
 
index 38f5b94..e0a8163 100644 (file)
@@ -123,7 +123,7 @@ __os_write(fd, addr, len, nwp)
 {
        size_t offset;
        ssize_t nw;
-       u_int8_t *taddr;
+       const u_int8_t *taddr;
 
        for (taddr = addr,
            offset = 0; offset < len; taddr += nw, offset += nw)
index ca30cef..a242602 100644 (file)
@@ -170,7 +170,7 @@ main(argc, argv)
 
        /* Get each key/data pair and add them to the database. */
        for (recno = 1; !interrupted; ++recno) {
-               if (dbtype == DB_RECNO)
+               if (dbtype == DB_RECNO) {
                        if (checkprint) {
                                if (dbt_rprint(&data))
                                        break;
@@ -178,7 +178,7 @@ main(argc, argv)
                                if (dbt_rdump(&data))
                                        break;
                        }
-               else
+               } else {
                        if (checkprint) {
                                if (dbt_rprint(&key))
                                        break;
@@ -192,6 +192,7 @@ fmt:                                        warnx("odd number of key/data pairs");
                                        goto err;
                                }
                        }
+               }
                switch (errno =
                    dbp->put(dbp, NULL, &key, &data, db_nooverwrite)) {
                case 0:
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h b/sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h
new file mode 100644 (file)
index 0000000..ca5d44f
--- /dev/null
@@ -0,0 +1,29 @@
+/* Definitions of macros to access `dev_t' values.
+   Copyright (C) 1996, 1997, 1999 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
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _SYS_SYSMACROS_H
+#define _SYS_SYSMACROS_H       1
+
+/* For compatibility we provide alternative names.  */
+#define major(dev) ((int)(((dev) >> 8) & 0xff))
+#define minor(dev) ((int)((dev) & 0xff))
+#define makedev(major, minor) ((((unsigned int) (major)) << 8) \
+                              | ((unsigned int) (minor)))
+
+#endif /* sys/sysmacros.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h b/sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h
new file mode 100644 (file)
index 0000000..e95c041
--- /dev/null
@@ -0,0 +1,41 @@
+/* Definitions of macros to access `dev_t' values.
+   Copyright (C) 1996, 1997, 1999 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
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _SYS_SYSMACROS_H
+#define _SYS_SYSMACROS_H       1
+
+#include <bits/wordsize.h>
+
+/* For compatibility we provide alternative names.
+
+   The problem here is that compilers other than GCC probably don't
+   have the `long long' type and so `dev_t' is actually an array.  */
+#if __WORDSIZE == 64 || (defined __GNUC__ && __GNUC__ >= 2)
+# define major(dev) ((int)(((dev) >> 8) & 0xff))
+# define minor(dev) ((int)((dev) & 0xff))
+# define makedev(major, minor) ((((unsigned int) (major)) << 8) \
+                               | ((unsigned int) (minor)))
+#else
+# define major(dev) (((dev).__val[1] >> 8) & 0xff)
+# define minor(dev) ((dev).__val[1] & 0xff)
+# define makedev(major, minor) { 0, ((((unsigned int) (major)) << 8) \
+                                    | ((unsigned int) (minor))) }
+#endif
+
+#endif /* sys/sysmacros.h */
index 63c1343..35760e5 100644 (file)
 # define makedev(major, minor) ((((unsigned int) (major)) << 8) \
                                | ((unsigned int) (minor)))
 #else
-# define major(dev) (((dev).__val[0] >> 8) & 0xff)
-# define minor(dev) ((dev).__val[0] & 0xff)
-# define makedev(major, minor) { ((((unsigned int) (major)) << 8) \
-                                 | ((unsigned int) (minor))), 0 }
+/* We need to know the word order here.  This assumes that the word order
+   is consistent with the byte order.  */
+# include <endian.h>
+# if __BYTE_ORDER == __BIG_ENDIAN
+#  define major(dev) (((dev).__val[1] >> 8) & 0xff)
+#  define minor(dev) ((dev).__val[1] & 0xff)
+#  define makedev(major, minor) { 0, ((((unsigned int) (major)) << 8) \
+                                     | ((unsigned int) (minor))) }
+# else
+#  define major(dev) (((dev).__val[0] >> 8) & 0xff)
+#  define minor(dev) ((dev).__val[0] & 0xff)
+#  define makedev(major, minor) { ((((unsigned int) (major)) << 8) \
+                                  | ((unsigned int) (minor))), 0 }
+# endif
 #endif
 
 #endif /* sys/sysmacros.h */