From ff1602c15bf5a002aaebdd7371d7e472824f62a5 Mon Sep 17 00:00:00 2001 From: Albert Choy Date: Tue, 14 Apr 2015 14:06:26 -0500 Subject: [PATCH] Fix _parse_qobj_impl() to handle BSON_LONG in Windows Fix conversion of int64_t to string in printf modifier using PRId64 --- src/ejdb/ejdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ejdb/ejdb.c b/src/ejdb/ejdb.c index aecf605..e8ebeba 100644 --- a/src/ejdb/ejdb.c +++ b/src/ejdb/ejdb.c @@ -5035,7 +5035,8 @@ static int _parse_qobj_impl(EJDB *jb, EJQ *q, bson_iterator *it, TCLIST *qlist, if (ftype == BSON_LONG || ftype == BSON_INT || ftype == BSON_DATE) { qf.exprlongval = bson_iterator_long(it); qf.exprdblval = qf.exprlongval; - qf.expr = tcsprintf("%ld", qf.exprlongval); + // 2015-04-14: Change to use standard format string for int64_t + qf.expr = tcsprintf("%" PRId64, qf.exprlongval); } else { qf.exprdblval = bson_iterator_double(it); qf.exprlongval = (int64_t) qf.exprdblval; -- 2.7.4