From 3f99d8741831b78cfbf35cd1a305e54445997431 Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Tue, 4 May 2010 16:01:26 +1000 Subject: [PATCH] xfsqa: build dbtest on debian platforms Set up autoconf to find the correct headers and compat libraries for debian squeeze, and massage the includes to ensure the right headers get included. Also fix a compile warning that was emitted now that it is being compiled. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig --- m4/package_gdbmdev.m4 | 8 ++++++-- src/dbtest.c | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/m4/package_gdbmdev.m4 b/m4/package_gdbmdev.m4 index d826acdf..6580fbae 100644 --- a/m4/package_gdbmdev.m4 +++ b/m4/package_gdbmdev.m4 @@ -6,9 +6,13 @@ AC_DEFUN([AC_PACKAGE_WANT_NDBM], ]) AC_DEFUN([AC_PACKAGE_WANT_GDBM], - [ AC_CHECK_HEADERS([gdbm/ndbm.h], [ have_db=true ], [ have_db=false ]) + [ AC_CHECK_HEADERS([gdbm/ndbm.h, gdbm-ndbm.h], [ have_db=true ], [ have_db=false ]) + libgdbm="" + if test $have_db = true -a -f ${libexecdir}${libdirsuffix}/libgdbm_compat.a; then + libgdbm="${libexecdir}${libdirsuffix}/libgdbm_compat.a" + fi if test $have_db = true -a -f ${libexecdir}${libdirsuffix}/libgdbm.a; then - libgdbm="${libexecdir}${libdirsuffix}/libgdbm.a" + libgdbm="${libgdbm} ${libexecdir}${libdirsuffix}/libgdbm.a" fi AC_SUBST(libgdbm) AC_SUBST(have_db) diff --git a/src/dbtest.c b/src/dbtest.c index 48667b79..ec8db0b9 100644 --- a/src/dbtest.c +++ b/src/dbtest.c @@ -18,19 +18,17 @@ #include "global.h" -#ifdef HAVE_GDBM_NDBM_H +#ifdef HAVE_GDBM_NDBM_H_ #include -#else -#ifdef HAVE_GDBM_H +#elif HAVE_GDBM_NDBM_H +#include +#elif HAVE_GDBM_H #include -#else -#ifdef HAVE_NDBM_H +#elif HAVE_NDBM_H #include #else bozo! #endif -#endif -#endif /* #define WorkDir "/xfs" */ @@ -140,11 +138,12 @@ int InitDbmLookup(int howmany) sprintf(filename, "%s-%d", DBNAME, (int)getpid()); if (debugflg) { - printf("dbm_open(%s, O_WRONLY|O_CREAT, 0644)\n", filename); + printf("dbm_open(%s, O_RDWR|O_CREAT, 0644)\n", filename); fflush(stdout); } - dbm = dbm_open(filename, O_WRONLY|O_CREAT, 0644); - if(dbm == NULL) DoSysError("\ndbm_open", (int)dbm); + dbm = dbm_open(filename, O_RDWR|O_CREAT, 0644); + if(dbm == NULL) + DoSysError("\ndbm_open", -1); if ((KeyArray = (unsigned short *)calloc( howmany, sizeof(unsigned short))) == NULL) @@ -191,11 +190,12 @@ int InitDbmLookup(int howmany) } dbm_close(dbm); /* close to eliminate chance of in-memory caching */ if (debugflg) { - printf("dbm_open(%s, O_RDNLY, 0)\n", filename); + printf("dbm_open(%s, O_RDONLY, 0)\n", filename); fflush(stdout); } dbm = dbm_open(filename, O_RDONLY, 0); - if(dbm == NULL) DoSysError("\ndbm_open", (int)dbm); + if(dbm == NULL) + DoSysError("\ndbm_open", -1); return 0; } -- 2.39.5