SDBM_File::{error,clearerr} can be implemented as XS ALIASes.
authorNicholas Clark <nick@ccl4.org>
Thu, 21 Oct 2010 11:18:35 +0000 (12:18 +0100)
committerNicholas Clark <nick@ccl4.org>
Thu, 21 Oct 2010 11:20:22 +0000 (12:20 +0100)
ext/SDBM_File/SDBM_File.xs

index 23d86b5..0c139ff 100644 (file)
@@ -106,20 +106,15 @@ sdbm_NEXTKEY(db, key)
 int
 sdbm_error(db)
        SDBM_File       db
+       ALIAS:
+       sdbm_clearerr = 1
+       PREINIT:
+       dXSI32;
        CODE:
-       RETVAL = sdbm_error(db->dbp) ;
-       OUTPUT:
-         RETVAL
-
-int
-sdbm_clearerr(db)
-       SDBM_File       db
-       CODE:
-       RETVAL = sdbm_clearerr(db->dbp) ;
+       RETVAL = ix ? sdbm_clearerr(db->dbp) : sdbm_error(db->dbp);
        OUTPUT:
          RETVAL
 
-
 SV *
 filter_fetch_key(db, code)
        SDBM_File       db