Upgrade jsoncpp to version 1.0.0 to match the copy used by Skia's testing tools.

This mirrors the contents of the upstream repository at...
https://github.com/open-source-parsers/jsoncpp/commit/7165f6ac4c482e68475c9e1dac086f9e12fff0d0

Bug: 17997234
Change-Id: I87a8312f9d030e5027f4ca5b1568f8374a856632
diff --git a/src/test_lib_json/jsontest.cpp b/src/test_lib_json/jsontest.cpp
index 327d344..ef9c543 100644
--- a/src/test_lib_json/jsontest.cpp
+++ b/src/test_lib_json/jsontest.cpp
@@ -10,566 +10,434 @@
 
 #if defined(_MSC_VER)
 // Used to install a report hook that prevent dialog on assertion and error.
-# include <crtdbg.h>
+#include <crtdbg.h>
 #endif // if defined(_MSC_VER)
 
 #if defined(_WIN32)
 // Used to prevent dialog on memory fault.
 // Limits headers included by Windows.h
-# define WIN32_LEAN_AND_MEAN
-# define NOSERVICE
-# define NOMCX
-# define NOIME
-# define NOSOUND
-# define NOCOMM
-# define NORPC
-# define NOGDI
-# define NOUSER
-# define NODRIVERS
-# define NOLOGERROR
-# define NOPROFILER
-# define NOMEMMGR
-# define NOLFILEIO
-# define NOOPENFILE
-# define NORESOURCE
-# define NOATOM
-# define NOLANGUAGE
-# define NOLSTRING
-# define NODBCS
-# define NOKEYBOARDINFO
-# define NOGDICAPMASKS
-# define NOCOLOR
-# define NOGDIOBJ
-# define NODRAWTEXT
-# define NOTEXTMETRIC
-# define NOSCALABLEFONT
-# define NOBITMAP
-# define NORASTEROPS
-# define NOMETAFILE
-# define NOSYSMETRICS
-# define NOSYSTEMPARAMSINFO
-# define NOMSG
-# define NOWINSTYLES
-# define NOWINOFFSETS
-# define NOSHOWWINDOW
-# define NODEFERWINDOWPOS
-# define NOVIRTUALKEYCODES
-# define NOKEYSTATES
-# define NOWH
-# define NOMENUS
-# define NOSCROLL
-# define NOCLIPBOARD
-# define NOICONS
-# define NOMB
-# define NOSYSCOMMANDS
-# define NOMDI
-# define NOCTLMGR
-# define NOWINMESSAGES
-# include <windows.h>
+#define WIN32_LEAN_AND_MEAN
+#define NOSERVICE
+#define NOMCX
+#define NOIME
+#define NOSOUND
+#define NOCOMM
+#define NORPC
+#define NOGDI
+#define NOUSER
+#define NODRIVERS
+#define NOLOGERROR
+#define NOPROFILER
+#define NOMEMMGR
+#define NOLFILEIO
+#define NOOPENFILE
+#define NORESOURCE
+#define NOATOM
+#define NOLANGUAGE
+#define NOLSTRING
+#define NODBCS
+#define NOKEYBOARDINFO
+#define NOGDICAPMASKS
+#define NOCOLOR
+#define NOGDIOBJ
+#define NODRAWTEXT
+#define NOTEXTMETRIC
+#define NOSCALABLEFONT
+#define NOBITMAP
+#define NORASTEROPS
+#define NOMETAFILE
+#define NOSYSMETRICS
+#define NOSYSTEMPARAMSINFO
+#define NOMSG
+#define NOWINSTYLES
+#define NOWINOFFSETS
+#define NOSHOWWINDOW
+#define NODEFERWINDOWPOS
+#define NOVIRTUALKEYCODES
+#define NOKEYSTATES
+#define NOWH
+#define NOMENUS
+#define NOSCROLL
+#define NOCLIPBOARD
+#define NOICONS
+#define NOMB
+#define NOSYSCOMMANDS
+#define NOMDI
+#define NOCTLMGR
+#define NOWINMESSAGES
+#include <windows.h>
 #endif // if defined(_WIN32)
 
 namespace JsonTest {
 
-
 // class TestResult
 // //////////////////////////////////////////////////////////////////
 
 TestResult::TestResult()
-   : predicateId_( 1 )
-   , lastUsedPredicateId_( 0 )
-   , messageTarget_( 0 )
-{
-   // The root predicate has id 0
-   rootPredicateNode_.id_ = 0;
-   rootPredicateNode_.next_ = 0;
-   predicateStackTail_ = &rootPredicateNode_;
+    : predicateId_(1), lastUsedPredicateId_(0), messageTarget_(0) {
+  // The root predicate has id 0
+  rootPredicateNode_.id_ = 0;
+  rootPredicateNode_.next_ = 0;
+  predicateStackTail_ = &rootPredicateNode_;
 }
 
+void TestResult::setTestName(const std::string& name) { name_ = name; }
 
-void 
-TestResult::setTestName( const std::string &name )
-{
-   name_ = name;
+TestResult&
+TestResult::addFailure(const char* file, unsigned int line, const char* expr) {
+  /// Walks the PredicateContext stack adding them to failures_ if not already
+  /// added.
+  unsigned int nestingLevel = 0;
+  PredicateContext* lastNode = rootPredicateNode_.next_;
+  for (; lastNode != 0; lastNode = lastNode->next_) {
+    if (lastNode->id_ > lastUsedPredicateId_) // new PredicateContext
+    {
+      lastUsedPredicateId_ = lastNode->id_;
+      addFailureInfo(
+          lastNode->file_, lastNode->line_, lastNode->expr_, nestingLevel);
+      // Link the PredicateContext to the failure for message target when
+      // popping the PredicateContext.
+      lastNode->failure_ = &(failures_.back());
+    }
+    ++nestingLevel;
+  }
+
+  // Adds the failed assertion
+  addFailureInfo(file, line, expr, nestingLevel);
+  messageTarget_ = &(failures_.back());
+  return *this;
 }
 
-TestResult &
-TestResult::addFailure( const char *file, unsigned int line,
-                        const char *expr )
-{
-   /// Walks the PredicateContext stack adding them to failures_ if not already added.
-   unsigned int nestingLevel = 0;
-   PredicateContext *lastNode = rootPredicateNode_.next_;
-   for ( ; lastNode != 0; lastNode = lastNode->next_ )
-   {
-      if ( lastNode->id_ > lastUsedPredicateId_ ) // new PredicateContext
-      {
-         lastUsedPredicateId_ = lastNode->id_;
-         addFailureInfo( lastNode->file_, lastNode->line_, lastNode->expr_,
-                         nestingLevel );
-         // Link the PredicateContext to the failure for message target when 
-         // popping the PredicateContext.
-         lastNode->failure_ = &( failures_.back() );
-      }
-      ++nestingLevel;
-   }
-
-   // Adds the failed assertion
-   addFailureInfo( file, line, expr, nestingLevel );
-   messageTarget_ = &( failures_.back() );
-   return *this;
+void TestResult::addFailureInfo(const char* file,
+                                unsigned int line,
+                                const char* expr,
+                                unsigned int nestingLevel) {
+  Failure failure;
+  failure.file_ = file;
+  failure.line_ = line;
+  if (expr) {
+    failure.expr_ = expr;
+  }
+  failure.nestingLevel_ = nestingLevel;
+  failures_.push_back(failure);
 }
 
-
-void 
-TestResult::addFailureInfo( const char *file, unsigned int line,
-                            const char *expr, unsigned int nestingLevel )
-{
-   Failure failure;
-   failure.file_ = file;
-   failure.line_ = line;
-   if ( expr )
-   {
-      failure.expr_ = expr;
-   }
-   failure.nestingLevel_ = nestingLevel;
-   failures_.push_back( failure );
+TestResult& TestResult::popPredicateContext() {
+  PredicateContext* lastNode = &rootPredicateNode_;
+  while (lastNode->next_ != 0 && lastNode->next_->next_ != 0) {
+    lastNode = lastNode->next_;
+  }
+  // Set message target to popped failure
+  PredicateContext* tail = lastNode->next_;
+  if (tail != 0 && tail->failure_ != 0) {
+    messageTarget_ = tail->failure_;
+  }
+  // Remove tail from list
+  predicateStackTail_ = lastNode;
+  lastNode->next_ = 0;
+  return *this;
 }
 
+bool TestResult::failed() const { return !failures_.empty(); }
 
-TestResult &
-TestResult::popPredicateContext()
-{
-   PredicateContext *lastNode = &rootPredicateNode_;
-   while ( lastNode->next_ != 0  &&  lastNode->next_->next_ != 0 )
-   {
-      lastNode = lastNode->next_;
-   }
-   // Set message target to popped failure
-   PredicateContext *tail = lastNode->next_;
-   if ( tail != 0  &&  tail->failure_ != 0 )
-   {
-      messageTarget_ = tail->failure_;
-   }
-   // Remove tail from list
-   predicateStackTail_ = lastNode;
-   lastNode->next_ = 0;
-   return *this;
+unsigned int TestResult::getAssertionNestingLevel() const {
+  unsigned int level = 0;
+  const PredicateContext* lastNode = &rootPredicateNode_;
+  while (lastNode->next_ != 0) {
+    lastNode = lastNode->next_;
+    ++level;
+  }
+  return level;
 }
 
+void TestResult::printFailure(bool printTestName) const {
+  if (failures_.empty()) {
+    return;
+  }
 
-bool 
-TestResult::failed() const
-{
-   return !failures_.empty();
+  if (printTestName) {
+    printf("* Detail of %s test failure:\n", name_.c_str());
+  }
+
+  // Print in reverse to display the callstack in the right order
+  Failures::const_iterator itEnd = failures_.end();
+  for (Failures::const_iterator it = failures_.begin(); it != itEnd; ++it) {
+    const Failure& failure = *it;
+    std::string indent(failure.nestingLevel_ * 2, ' ');
+    if (failure.file_) {
+      printf("%s%s(%d): ", indent.c_str(), failure.file_, failure.line_);
+    }
+    if (!failure.expr_.empty()) {
+      printf("%s\n", failure.expr_.c_str());
+    } else if (failure.file_) {
+      printf("\n");
+    }
+    if (!failure.message_.empty()) {
+      std::string reindented = indentText(failure.message_, indent + "  ");
+      printf("%s\n", reindented.c_str());
+    }
+  }
 }
 
-
-unsigned int 
-TestResult::getAssertionNestingLevel() const
-{
-   unsigned int level = 0;
-   const PredicateContext *lastNode = &rootPredicateNode_;
-   while ( lastNode->next_ != 0 )
-   {
-      lastNode = lastNode->next_;
-      ++level;
-   }
-   return level;
+std::string TestResult::indentText(const std::string& text,
+                                   const std::string& indent) {
+  std::string reindented;
+  std::string::size_type lastIndex = 0;
+  while (lastIndex < text.size()) {
+    std::string::size_type nextIndex = text.find('\n', lastIndex);
+    if (nextIndex == std::string::npos) {
+      nextIndex = text.size() - 1;
+    }
+    reindented += indent;
+    reindented += text.substr(lastIndex, nextIndex - lastIndex + 1);
+    lastIndex = nextIndex + 1;
+  }
+  return reindented;
 }
 
-
-void 
-TestResult::printFailure( bool printTestName ) const
-{
-   if ( failures_.empty() )
-   {
-      return;
-   }
-
-   if ( printTestName )
-   {
-      printf( "* Detail of %s test failure:\n", name_.c_str() );
-   }
-
-   // Print in reverse to display the callstack in the right order
-   Failures::const_iterator itEnd = failures_.end();
-   for ( Failures::const_iterator it = failures_.begin(); it != itEnd; ++it )
-   {
-      const Failure &failure = *it;
-      std::string indent( failure.nestingLevel_ * 2, ' ' );
-      if ( failure.file_ )
-      {
-         printf( "%s%s(%d): ", indent.c_str(), failure.file_, failure.line_ );
-      }
-      if ( !failure.expr_.empty() )
-      {
-         printf( "%s\n", failure.expr_.c_str() );
-      }
-      else if ( failure.file_ )
-      {
-         printf( "\n" );
-      }
-      if ( !failure.message_.empty() )
-      {
-         std::string reindented = indentText( failure.message_, indent + "  " );
-         printf( "%s\n", reindented.c_str() );
-      }
-   }
+TestResult& TestResult::addToLastFailure(const std::string& message) {
+  if (messageTarget_ != 0) {
+    messageTarget_->message_ += message;
+  }
+  return *this;
 }
 
-
-std::string 
-TestResult::indentText( const std::string &text, 
-                        const std::string &indent )
-{
-   std::string reindented;
-   std::string::size_type lastIndex = 0;
-   while ( lastIndex < text.size() )
-   {
-      std::string::size_type nextIndex = text.find( '\n', lastIndex );
-      if ( nextIndex == std::string::npos )
-      {
-         nextIndex = text.size() - 1;
-      }
-      reindented += indent;
-      reindented += text.substr( lastIndex, nextIndex - lastIndex + 1 );
-      lastIndex = nextIndex + 1;
-   }
-   return reindented;
+TestResult& TestResult::operator<<(Json::Int64 value) {
+  return addToLastFailure(Json::valueToString(value));
 }
 
-
-TestResult &
-TestResult::addToLastFailure( const std::string &message )
-{
-   if ( messageTarget_ != 0 )
-   {
-      messageTarget_->message_ += message;
-   }
-   return *this;
+TestResult& TestResult::operator<<(Json::UInt64 value) {
+  return addToLastFailure(Json::valueToString(value));
 }
 
-TestResult &
-TestResult::operator << ( Json::Int64 value ) {
-   return addToLastFailure( Json::valueToString(value) );
+TestResult& TestResult::operator<<(bool value) {
+  return addToLastFailure(value ? "true" : "false");
 }
 
-
-TestResult &
-TestResult::operator << ( Json::UInt64 value ) {
-   return addToLastFailure( Json::valueToString(value) );
-}
-
-
-TestResult &
-TestResult::operator << ( bool value ) {
-   return addToLastFailure(value ? "true" : "false");
-}
-
-
 // class TestCase
 // //////////////////////////////////////////////////////////////////
 
-TestCase::TestCase()
-   : result_( 0 )
-{
+TestCase::TestCase() : result_(0) {}
+
+TestCase::~TestCase() {}
+
+void TestCase::run(TestResult& result) {
+  result_ = &result;
+  runTestCase();
 }
 
-
-TestCase::~TestCase()
-{
-}
-
-
-void 
-TestCase::run( TestResult &result )
-{
-   result_ = &result;
-   runTestCase();
-}
-
-
-
 // class Runner
 // //////////////////////////////////////////////////////////////////
 
-Runner::Runner()
-{
+Runner::Runner() {}
+
+Runner& Runner::add(TestCaseFactory factory) {
+  tests_.push_back(factory);
+  return *this;
 }
 
-
-Runner &
-Runner::add( TestCaseFactory factory )
-{
-   tests_.push_back( factory );
-   return *this;
+unsigned int Runner::testCount() const {
+  return static_cast<unsigned int>(tests_.size());
 }
 
-
-unsigned int 
-Runner::testCount() const
-{
-   return static_cast<unsigned int>( tests_.size() );
+std::string Runner::testNameAt(unsigned int index) const {
+  TestCase* test = tests_[index]();
+  std::string name = test->testName();
+  delete test;
+  return name;
 }
 
-
-std::string 
-Runner::testNameAt( unsigned int index ) const
-{
-   TestCase *test = tests_[index]();
-   std::string name = test->testName();
-   delete test;
-   return name;
-}
-
-
-void 
-Runner::runTestAt( unsigned int index, TestResult &result ) const
-{
-   TestCase *test = tests_[index]();
-   result.setTestName( test->testName() );
-   printf( "Testing %s: ", test->testName() );
-   fflush( stdout );
+void Runner::runTestAt(unsigned int index, TestResult& result) const {
+  TestCase* test = tests_[index]();
+  result.setTestName(test->testName());
+  printf("Testing %s: ", test->testName());
+  fflush(stdout);
 #if JSON_USE_EXCEPTION
-   try 
-   {
+  try {
 #endif // if JSON_USE_EXCEPTION
-      test->run( result );
+    test->run(result);
 #if JSON_USE_EXCEPTION
-   } 
-   catch ( const std::exception &e ) 
-   {
-      result.addFailure( __FILE__, __LINE__, 
-         "Unexpected exception caught:" ) << e.what();
-   }
+  }
+  catch (const std::exception& e) {
+    result.addFailure(__FILE__, __LINE__, "Unexpected exception caught:")
+        << e.what();
+  }
 #endif // if JSON_USE_EXCEPTION
-   delete test;
-   const char *status = result.failed() ? "FAILED" 
-                                        : "OK";
-   printf( "%s\n", status );
-   fflush( stdout );
+  delete test;
+  const char* status = result.failed() ? "FAILED" : "OK";
+  printf("%s\n", status);
+  fflush(stdout);
 }
 
+bool Runner::runAllTest(bool printSummary) const {
+  unsigned int count = testCount();
+  std::deque<TestResult> failures;
+  for (unsigned int index = 0; index < count; ++index) {
+    TestResult result;
+    runTestAt(index, result);
+    if (result.failed()) {
+      failures.push_back(result);
+    }
+  }
 
-bool 
-Runner::runAllTest( bool printSummary ) const
-{
-   unsigned int count = testCount();
-   std::deque<TestResult> failures;
-   for ( unsigned int index = 0; index < count; ++index )
-   {
-      TestResult result;
-      runTestAt( index, result );
-      if ( result.failed() )
-      {
-         failures.push_back( result );
-      }
-   }
+  if (failures.empty()) {
+    if (printSummary) {
+      printf("All %d tests passed\n", count);
+    }
+    return true;
+  } else {
+    for (unsigned int index = 0; index < failures.size(); ++index) {
+      TestResult& result = failures[index];
+      result.printFailure(count > 1);
+    }
 
-   if ( failures.empty() )
-   {
-      if ( printSummary )
-      {
-         printf( "All %d tests passed\n", count );
-      }
+    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,
+             failedCount);
+    }
+    return false;
+  }
+}
+
+bool Runner::testIndex(const std::string& testName,
+                       unsigned int& indexOut) const {
+  unsigned int count = testCount();
+  for (unsigned int index = 0; index < count; ++index) {
+    if (testNameAt(index) == testName) {
+      indexOut = index;
       return true;
-   }
-   else
-   {
-      for ( unsigned int index = 0; index < failures.size(); ++index )
-      {
-         TestResult &result = failures[index];
-         result.printFailure( count > 1 );
-      }
-
-      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, failedCount );
-      }
-      return false;
-   }
+    }
+  }
+  return false;
 }
 
-
-bool 
-Runner::testIndex( const std::string &testName, 
-                   unsigned int &indexOut ) const
-{
-   unsigned int count = testCount();
-   for ( unsigned int index = 0; index < count; ++index )
-   {
-      if ( testNameAt(index) == testName )
-      {
-         indexOut = index;
-         return true;
-      }
-   }
-   return false;
+void Runner::listTests() const {
+  unsigned int count = testCount();
+  for (unsigned int index = 0; index < count; ++index) {
+    printf("%s\n", testNameAt(index).c_str());
+  }
 }
 
-
-void 
-Runner::listTests() const
-{
-   unsigned int count = testCount();
-   for ( unsigned int index = 0; index < count; ++index )
-   {
-      printf( "%s\n", testNameAt( index ).c_str() );
-   }
+int Runner::runCommandLine(int argc, const char* argv[]) const {
+  typedef std::deque<std::string> TestNames;
+  Runner subrunner;
+  for (int index = 1; index < argc; ++index) {
+    std::string opt = argv[index];
+    if (opt == "--list-tests") {
+      listTests();
+      return 0;
+    } else if (opt == "--test-auto") {
+      preventDialogOnCrash();
+    } else if (opt == "--test") {
+      ++index;
+      if (index < argc) {
+        unsigned int testNameIndex;
+        if (testIndex(argv[index], testNameIndex)) {
+          subrunner.add(tests_[testNameIndex]);
+        } else {
+          fprintf(stderr, "Test '%s' does not exist!\n", argv[index]);
+          return 2;
+        }
+      } else {
+        printUsage(argv[0]);
+        return 2;
+      }
+    } else {
+      printUsage(argv[0]);
+      return 2;
+    }
+  }
+  bool succeeded;
+  if (subrunner.testCount() > 0) {
+    succeeded = subrunner.runAllTest(subrunner.testCount() > 1);
+  } else {
+    succeeded = runAllTest(true);
+  }
+  return succeeded ? 0 : 1;
 }
 
-
-int 
-Runner::runCommandLine( int argc, const char *argv[] ) const
-{
-   typedef std::deque<std::string> TestNames;
-   Runner subrunner;
-   for ( int index = 1; index < argc; ++index )
-   {
-      std::string opt = argv[index];
-      if ( opt == "--list-tests" )
-      {
-         listTests();
-         return 0;
-      }
-      else if ( opt == "--test-auto" )
-      {
-         preventDialogOnCrash();
-      }
-      else if ( opt == "--test" )
-      {
-         ++index;
-         if ( index < argc )
-         {
-            unsigned int testNameIndex;
-            if ( testIndex( argv[index], testNameIndex ) )
-            {
-               subrunner.add( tests_[testNameIndex] );
-            }
-            else
-            {
-               fprintf( stderr, "Test '%s' does not exist!\n", argv[index] );
-               return 2;
-            }
-         }
-         else
-         {
-            printUsage( argv[0] );
-            return 2;
-         }
-      }
-      else
-      {
-         printUsage( argv[0] );
-         return 2;
-      }
-   }
-   bool succeeded;
-   if ( subrunner.testCount() > 0 )
-   {
-      succeeded = subrunner.runAllTest( subrunner.testCount() > 1 );
-   }
-   else
-   {
-      succeeded = runAllTest( true );
-   }
-   return succeeded ? 0 
-                    : 1;
-}
-
-
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(_DEBUG)
 // Hook MSVCRT assertions to prevent dialog from appearing
-static int 
-msvcrtSilentReportHook( int reportType, char *message, int *returnValue )
-{
-   // The default CRT handling of error and assertion is to display
-   // an error dialog to the user.
-   // Instead, when an error or an assertion occurs, we force the 
-   // application to terminate using abort() after display
-   // the message on stderr. 
-   if ( reportType == _CRT_ERROR  ||  
-        reportType == _CRT_ASSERT )
-   {
-      // calling abort() cause the ReportHook to be called
-      // The following is used to detect this case and let's the
-      // error handler fallback on its default behaviour (
-      // display a warning message)
-      static volatile bool isAborting = false;
-      if ( isAborting ) 
-      {
-         return TRUE;
-      }
-      isAborting = true;
+static int
+msvcrtSilentReportHook(int reportType, char* message, int* /*returnValue*/) {
+  // The default CRT handling of error and assertion is to display
+  // an error dialog to the user.
+  // Instead, when an error or an assertion occurs, we force the
+  // application to terminate using abort() after display
+  // the message on stderr.
+  if (reportType == _CRT_ERROR || reportType == _CRT_ASSERT) {
+    // calling abort() cause the ReportHook to be called
+    // The following is used to detect this case and let's the
+    // error handler fallback on its default behaviour (
+    // display a warning message)
+    static volatile bool isAborting = false;
+    if (isAborting) {
+      return TRUE;
+    }
+    isAborting = true;
 
-      fprintf( stderr, "CRT Error/Assert:\n%s\n", message );
-      fflush( stderr );
-      abort();
-   }
-   // Let's other reportType (_CRT_WARNING) be handled as they would by default
-   return FALSE;
+    fprintf(stderr, "CRT Error/Assert:\n%s\n", message);
+    fflush(stderr);
+    abort();
+  }
+  // Let's other reportType (_CRT_WARNING) be handled as they would by default
+  return FALSE;
 }
 #endif // if defined(_MSC_VER)
 
-
-void 
-Runner::preventDialogOnCrash()
-{
-#if defined(_MSC_VER)
-   // Install a hook to prevent MSVCRT error and assertion from
-   // popping a dialog.
-   _CrtSetReportHook( &msvcrtSilentReportHook );
+void Runner::preventDialogOnCrash() {
+#if defined(_MSC_VER) && defined(_DEBUG)
+  // Install a hook to prevent MSVCRT error and assertion from
+  // popping a dialog
+  // This function a NO-OP in release configuration
+  // (which cause warning since msvcrtSilentReportHook is not referenced)
+  _CrtSetReportHook(&msvcrtSilentReportHook);
 #endif // if defined(_MSC_VER)
 
-   // @todo investiguate this handler (for buffer overflow)
-   // _set_security_error_handler
+// @todo investiguate this handler (for buffer overflow)
+// _set_security_error_handler
 
 #if defined(_WIN32)
-   // Prevents the system from popping a dialog for debugging if the
-   // application fails due to invalid memory access.
-   SetErrorMode( SEM_FAILCRITICALERRORS 
-                 | SEM_NOGPFAULTERRORBOX 
-                 | SEM_NOOPENFILEERRORBOX );
+  // Prevents the system from popping a dialog for debugging if the
+  // application fails due to invalid memory access.
+  SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX |
+               SEM_NOOPENFILEERRORBOX);
 #endif // if defined(_WIN32)
 }
 
-void 
-Runner::printUsage( const char *appName )
-{
-   printf( 
-      "Usage: %s [options]\n"
-      "\n"
-      "If --test is not specified, then all the test cases be run.\n"
-      "\n"
-      "Valid options:\n"
-      "--list-tests: print the name of all test cases on the standard\n"
-      "              output and exit.\n"
-      "--test TESTNAME: executes the test case with the specified name.\n"
-      "                 May be repeated.\n"
-      "--test-auto: prevent dialog prompting for debugging on crash.\n"
-      , appName );
+void Runner::printUsage(const char* appName) {
+  printf("Usage: %s [options]\n"
+         "\n"
+         "If --test is not specified, then all the test cases be run.\n"
+         "\n"
+         "Valid options:\n"
+         "--list-tests: print the name of all test cases on the standard\n"
+         "              output and exit.\n"
+         "--test TESTNAME: executes the test case with the specified name.\n"
+         "                 May be repeated.\n"
+         "--test-auto: prevent dialog prompting for debugging on crash.\n",
+         appName);
 }
 
-
-
 // Assertion functions
 // //////////////////////////////////////////////////////////////////
 
-TestResult &
-checkStringEqual( TestResult &result, 
-                  const std::string &expected, const std::string &actual,
-                  const char *file, unsigned int line, const char *expr )
-{
-   if ( expected != actual )
-   {
-      result.addFailure( file, line, expr );
-      result << "Expected: '" << expected << "'\n";
-      result << "Actual  : '" << actual << "'";
-   }
-   return result;
+TestResult& checkStringEqual(TestResult& result,
+                             const std::string& expected,
+                             const std::string& actual,
+                             const char* file,
+                             unsigned int line,
+                             const char* expr) {
+  if (expected != actual) {
+    result.addFailure(file, line, expr);
+    result << "Expected: '" << expected << "'\n";
+    result << "Actual  : '" << actual << "'";
+  }
+  return result;
 }
 
-
 } // namespace JsonTest