From: Dave Chinner Date: Tue, 4 May 2010 06:01:26 +0000 (+1000) Subject: xfsqa: build dbtest on debian platforms X-Git-Tag: v1.1.0~168 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f99d8741831b78cfbf35cd1a305e54445997431;p=xfstests-dev.git 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 --- 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; }