From 6c5989e9d8ff294ed369afe5749cd5b1711c88c5 Mon Sep 17 00:00:00 2001 From: Nick Ing-Simmons Date: Tue, 17 Feb 1998 13:19:18 +0000 Subject: DB_File ->length does not work just after tie. p4raw-id: //depot/perl@553 --- ext/DB_File/DB_File.xs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ext') diff --git a/ext/DB_File/DB_File.xs b/ext/DB_File/DB_File.xs index 91b4dc2ad5..b6da38609d 100644 --- a/ext/DB_File/DB_File.xs +++ b/ext/DB_File/DB_File.xs @@ -533,6 +533,14 @@ DB_File db ; DBT_flags(key) ; DBT_flags(value) ; RETVAL = do_SEQ(db, key, value, R_LAST) ; + if (RETVAL < 0 && errno == EBADF) + { + recno_t oops = -1; + key.data = &oops; + key.size = sizeof(oops); + db_get(db, key, value, 0); + RETVAL = do_SEQ(db, key, value, R_LAST) ; + } if (RETVAL == 0) RETVAL = *(I32 *)key.data ; else /* No key means empty file */ -- cgit v1.2.1