More for ab04c50a32275e216b82edaeeed50208cf49336b
authorHoward Chu <hyc@symas.com>
Mon, 17 Sep 2012 13:35:03 +0000 (06:35 -0700)
committerHoward Chu <hyc@symas.com>
Mon, 17 Sep 2012 13:35:03 +0000 (06:35 -0700)
Fix typos, error code ranges

libraries/libmdb/mdb.c
libraries/libmdb/mdb.h

index 345ebf4..8252cd6 100644 (file)
@@ -1024,24 +1024,27 @@ static char *const mdb_errstr[] = {
        "MDB_CORRUPTED: Located page was wrong type",
        "MDB_PANIC: Update of meta page failed",
        "MDB_VERSION_MISMATCH: Database environment version mismatch",
-       "MDB_INVALID: File is not an MDB file"
+       "MDB_INVALID: File is not an MDB file",
        "MDB_MAP_FULL: Environment mapsize limit reached",
        "MDB_DBS_FULL: Environment maxdbs limit reached",
        "MDB_READERS_FULL: Environment maxreaders limit reached",
        "MDB_TLS_FULL: Thread-local storage keys full - too many environments open",
        "MDB_TXN_FULL: Nested transaction has too many dirty pages - transaction too big",
        "MDB_CURSOR_FULL: Internal error - cursor stack limit reached",
-       "MDB_PAGE_FULL: Internal error - page has no more space",
+       "MDB_PAGE_FULL: Internal error - page has no more space"
 };
 
 char *
 mdb_strerror(int err)
 {
+       int i;
        if (!err)
                return ("Successful return: 0");
 
-       if (err >= MDB_KEYEXIST && err <= MDB_VERSION_MISMATCH)
-               return mdb_errstr[err - MDB_KEYEXIST];
+       if (err >= MDB_KEYEXIST && err <= MDB_LAST_ERRCODE) {
+               i = err - MDB_KEYEXIST;
+               return mdb_errstr[i];
+       }
 
        return strerror(err);
 }
index 6e9cd2b..7fc1bf2 100644 (file)
@@ -286,6 +286,7 @@ typedef enum MDB_cursor_op {
 #define MDB_CURSOR_FULL        (-30787)
        /** Page has not enough space - internal error */
 #define MDB_PAGE_FULL  (-30786)
+#define MDB_LAST_ERRCODE       MDB_PAGE_FULL
 /** @} */
 
 /** @brief Statistics for a database in the environment */