Fix improper format specifier in printf
%d in format string requires 'int' but the argument type is 'unsigned int'.
diff --git a/src/jsontestrunner/main.cpp b/src/jsontestrunner/main.cpp
index 7105b39..54ca302 100644
--- a/src/jsontestrunner/main.cpp
+++ b/src/jsontestrunner/main.cpp
@@ -106,9 +106,9 @@
for (Json::ArrayIndex index = 0; index < size; ++index) {
static char buffer[16];
#if defined(_MSC_VER) && defined(__STDC_SECURE_LIB__)
- sprintf_s(buffer, sizeof(buffer), "[%d]", index);
+ sprintf_s(buffer, sizeof(buffer), "[%u]", index);
#else
- snprintf(buffer, sizeof(buffer), "[%d]", index);
+ snprintf(buffer, sizeof(buffer), "[%u]", index);
#endif
printValueTree(fout, value[index], path + buffer);
}
diff --git a/src/test_lib_json/jsontest.cpp b/src/test_lib_json/jsontest.cpp
index 7ca58c3..ce23800 100644
--- a/src/test_lib_json/jsontest.cpp
+++ b/src/test_lib_json/jsontest.cpp
@@ -165,7 +165,7 @@
const Failure& failure = *it;
JSONCPP_STRING indent(failure.nestingLevel_ * 2, ' ');
if (failure.file_) {
- printf("%s%s(%d): ", indent.c_str(), failure.file_, failure.line_);
+ printf("%s%s(%u): ", indent.c_str(), failure.file_, failure.line_);
}
if (!failure.expr_.empty()) {
printf("%s\n", failure.expr_.c_str());
@@ -281,7 +281,7 @@
if (failures.empty()) {
if (printSummary) {
- printf("All %d tests passed\n", count);
+ printf("All %u tests passed\n", count);
}
return true;
} else {
@@ -293,7 +293,7 @@
if (printSummary) {
unsigned int failedCount = static_cast<unsigned int>(failures.size());
unsigned int passedCount = count - failedCount;
- printf("%d/%d tests passed (%d failure(s))\n", passedCount, count,
+ printf("%u/%u tests passed (%u failure(s))\n", passedCount, count,
failedCount);
}
return false;