X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Ftstpass.c;h=9b5b54b0239d03e624985a03b0b8ba59ad55c8eb;hb=c393a764a0ff22b6a9a3560dfa3edbb46ccb13ae;hp=20e728a611d0b4efb5b3fa1588aa8c660b2187f7;hpb=19eb2f5565a7f77d29fbba22cab158dcadf4d5db;p=idzebra-moved-to-github.git diff --git a/util/tstpass.c b/util/tstpass.c index 20e728a..9b5b54b 100644 --- a/util/tstpass.c +++ b/util/tstpass.c @@ -1,4 +1,4 @@ -/* $Id: tstpass.c,v 1.3 2007-05-16 12:31:17 adam Exp $ +/* $Id: tstpass.c,v 1.4 2007-12-13 19:50:26 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -22,9 +22,22 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include +#include +#include + +/* use env srcdir as base directory - or current directory if unset */ +const char *get_srcdir(void) +{ + const char *srcdir = getenv("srcdir"); + if (!srcdir || ! *srcdir) + srcdir="."; + return srcdir; + +} static void tst(void) { + char path[1024]; Passwd_db db; db = passwd_db_open(); @@ -32,10 +45,12 @@ static void tst(void) if (!db) return; - YAZ_CHECK_EQ(passwd_db_file_plain(db, "no_such_file.txt"), -1); - YAZ_CHECK_EQ(passwd_db_file_crypt(db, "no_such_file.txt"), -1); + yaz_snprintf(path, sizeof(path), "%s/no_such_file.txt", get_srcdir()); + YAZ_CHECK_EQ(passwd_db_file_plain(db, path), -1); + YAZ_CHECK_EQ(passwd_db_file_crypt(db, path), -1); + yaz_snprintf(path, sizeof(path), "%s/tstpass.txt", get_srcdir()); #if HAVE_CRYPT_H - YAZ_CHECK_EQ(passwd_db_file_crypt(db, "tstpass.txt"), 0); + YAZ_CHECK_EQ(passwd_db_file_crypt(db, path), 0); YAZ_CHECK_EQ(passwd_db_auth(db, "other", "x1234"), -1); YAZ_CHECK_EQ(passwd_db_auth(db, "admin", "abcd"), -2); YAZ_CHECK_EQ(passwd_db_auth(db, "admin", "fruitbat"), 0);