aboutsummaryrefslogtreecommitdiff
path: root/external/db_drivers/liblmdb/mdb_load.c
diff options
context:
space:
mode:
Diffstat (limited to 'external/db_drivers/liblmdb/mdb_load.c')
-rw-r--r--external/db_drivers/liblmdb/mdb_load.c51
1 files changed, 20 insertions, 31 deletions
diff --git a/external/db_drivers/liblmdb/mdb_load.c b/external/db_drivers/liblmdb/mdb_load.c
index c74ce81c9..ad911c088 100644
--- a/external/db_drivers/liblmdb/mdb_load.c
+++ b/external/db_drivers/liblmdb/mdb_load.c
@@ -1,6 +1,6 @@
/* mdb_load.c - memory-mapped database load tool */
/*
- * Copyright 2011-2015 Howard Chu, Symas Corp.
+ * Copyright 2011-2018 Howard Chu, Symas Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@ static int mode;
static char *subname = NULL;
-static size_t lineno;
+static mdb_size_t lineno;
static int version;
static int flags;
@@ -39,20 +39,7 @@ static MDB_envinfo info;
static MDB_val kbuf, dbuf;
static MDB_val k0buf;
-#ifdef _WIN32
-#define Z "I"
-#else
-#define Z "z"
-#endif
-#ifdef MDB_VL32
-#ifdef _WIN32
-#define Y "I64"
-#else
-#define Y "ll"
-#endif
-#else
-#define Y Z
-#endif
+#define Yu MDB_PRIy(u)
#define STRLENOF(s) (sizeof(s)-1)
@@ -84,7 +71,7 @@ static void readhdr(void)
if (!strncmp(dbuf.mv_data, "VERSION=", STRLENOF("VERSION="))) {
version=atoi((char *)dbuf.mv_data+STRLENOF("VERSION="));
if (version > 3) {
- fprintf(stderr, "%s: line %" Z "d: unsupported VERSION %d\n",
+ fprintf(stderr, "%s: line %"Yu": unsupported VERSION %d\n",
prog, lineno, version);
exit(EXIT_FAILURE);
}
@@ -94,7 +81,7 @@ static void readhdr(void)
if (!strncmp((char *)dbuf.mv_data+STRLENOF("FORMAT="), "print", STRLENOF("print")))
mode |= PRINT;
else if (strncmp((char *)dbuf.mv_data+STRLENOF("FORMAT="), "bytevalue", STRLENOF("bytevalue"))) {
- fprintf(stderr, "%s: line %" Z "d: unsupported FORMAT %s\n",
+ fprintf(stderr, "%s: line %"Yu": unsupported FORMAT %s\n",
prog, lineno, (char *)dbuf.mv_data+STRLENOF("FORMAT="));
exit(EXIT_FAILURE);
}
@@ -105,7 +92,7 @@ static void readhdr(void)
subname = strdup((char *)dbuf.mv_data+STRLENOF("database="));
} else if (!strncmp(dbuf.mv_data, "type=", STRLENOF("type="))) {
if (strncmp((char *)dbuf.mv_data+STRLENOF("type="), "btree", STRLENOF("btree"))) {
- fprintf(stderr, "%s: line %" Z "d: unsupported type %s\n",
+ fprintf(stderr, "%s: line %"Yu": unsupported type %s\n",
prog, lineno, (char *)dbuf.mv_data+STRLENOF("type="));
exit(EXIT_FAILURE);
}
@@ -115,7 +102,7 @@ static void readhdr(void)
if (ptr) *ptr = '\0';
i = sscanf((char *)dbuf.mv_data+STRLENOF("mapaddr="), "%p", &info.me_mapaddr);
if (i != 1) {
- fprintf(stderr, "%s: line %" Z "d: invalid mapaddr %s\n",
+ fprintf(stderr, "%s: line %"Yu": invalid mapaddr %s\n",
prog, lineno, (char *)dbuf.mv_data+STRLENOF("mapaddr="));
exit(EXIT_FAILURE);
}
@@ -123,9 +110,10 @@ static void readhdr(void)
int i;
ptr = memchr(dbuf.mv_data, '\n', dbuf.mv_size);
if (ptr) *ptr = '\0';
- i = sscanf((char *)dbuf.mv_data+STRLENOF("mapsize="), "%" Y "u", &info.me_mapsize);
+ i = sscanf((char *)dbuf.mv_data+STRLENOF("mapsize="),
+ "%" MDB_SCNy(u), &info.me_mapsize);
if (i != 1) {
- fprintf(stderr, "%s: line %" Z "d: invalid mapsize %s\n",
+ fprintf(stderr, "%s: line %"Yu": invalid mapsize %s\n",
prog, lineno, (char *)dbuf.mv_data+STRLENOF("mapsize="));
exit(EXIT_FAILURE);
}
@@ -135,7 +123,7 @@ static void readhdr(void)
if (ptr) *ptr = '\0';
i = sscanf((char *)dbuf.mv_data+STRLENOF("maxreaders="), "%u", &info.me_maxreaders);
if (i != 1) {
- fprintf(stderr, "%s: line %" Z "d: invalid maxreaders %s\n",
+ fprintf(stderr, "%s: line %"Yu": invalid maxreaders %s\n",
prog, lineno, (char *)dbuf.mv_data+STRLENOF("maxreaders="));
exit(EXIT_FAILURE);
}
@@ -151,12 +139,12 @@ static void readhdr(void)
if (!dbflags[i].bit) {
ptr = memchr(dbuf.mv_data, '=', dbuf.mv_size);
if (!ptr) {
- fprintf(stderr, "%s: line %" Z "d: unexpected format\n",
+ fprintf(stderr, "%s: line %"Yu": unexpected format\n",
prog, lineno);
exit(EXIT_FAILURE);
} else {
*ptr = '\0';
- fprintf(stderr, "%s: line %" Z "d: unrecognized keyword ignored: %s\n",
+ fprintf(stderr, "%s: line %"Yu": unrecognized keyword ignored: %s\n",
prog, lineno, (char *)dbuf.mv_data);
}
}
@@ -166,7 +154,7 @@ static void readhdr(void)
static void badend(void)
{
- fprintf(stderr, "%s: line %" Z "d: unexpected end of input\n",
+ fprintf(stderr, "%s: line %"Yu": unexpected end of input\n",
prog, lineno);
}
@@ -224,7 +212,7 @@ badend:
buf->mv_data = realloc(buf->mv_data, buf->mv_size*2);
if (!buf->mv_data) {
Eof = 1;
- fprintf(stderr, "%s: line %" Z "d: out of memory, line too long\n",
+ fprintf(stderr, "%s: line %"Yu": out of memory, line too long\n",
prog, lineno);
return EOF;
}
@@ -259,7 +247,8 @@ badend:
c2 += 2;
}
} else {
- c1++; c2++;
+ /* copies are redundant when no escapes were used */
+ *c1++ = *c2++;
}
}
} else {
@@ -435,7 +424,7 @@ int main(int argc, char *argv[])
rc = readline(&data, &dbuf);
if (rc) {
- fprintf(stderr, "%s: line %" Z "d: failed to read key value\n", prog, lineno);
+ fprintf(stderr, "%s: line %"Yu": failed to read key value\n", prog, lineno);
goto txn_abort;
}
@@ -463,7 +452,7 @@ int main(int argc, char *argv[])
if (batch == 100) {
rc = mdb_txn_commit(txn);
if (rc) {
- fprintf(stderr, "%s: line %" Z "d: txn_commit: %s\n",
+ fprintf(stderr, "%s: line %"Yu": txn_commit: %s\n",
prog, lineno, mdb_strerror(rc));
goto env_close;
}
@@ -487,7 +476,7 @@ int main(int argc, char *argv[])
rc = mdb_txn_commit(txn);
txn = NULL;
if (rc) {
- fprintf(stderr, "%s: line %" Z "d: txn_commit: %s\n",
+ fprintf(stderr, "%s: line %"Yu": txn_commit: %s\n",
prog, lineno, mdb_strerror(rc));
goto env_close;
}