Merge pull request #106 from dimhotepus/master
authorSergiu Deitsch <sergiud@users.noreply.github.com>
Sat, 4 Nov 2017 15:22:21 +0000 (16:22 +0100)
committerGitHub <noreply@github.com>
Sat, 4 Nov 2017 15:22:21 +0000 (16:22 +0100)
Cache strlen outside of cycles (PVS-Studio)

1  2 
src/logging_unittest.cc

diff --combined src/logging_unittest.cc
@@@ -272,24 -272,17 +272,24 @@@ void TestLogging(bool check_counts) 
    LOG(ERROR) << string("foo") << ' '<< j << ' ' << setw(10) << j << " "
               << setw(1) << hex << j;
  
 +  {
 +    google::LogMessage outer(__FILE__, __LINE__, google::ERROR);
 +    outer.stream() << "outer";
 +
 +    LOG(ERROR) << "inner";
 +  }
 +
    LogMessage("foo", LogMessage::kNoLogPrefix, GLOG_INFO).stream() << "no prefix";
  
    if (check_counts) {
      CHECK_EQ(base_num_infos   + 14, LogMessage::num_messages(GLOG_INFO));
      CHECK_EQ(base_num_warning + 3,  LogMessage::num_messages(GLOG_WARNING));
 -    CHECK_EQ(base_num_errors  + 15, LogMessage::num_messages(GLOG_ERROR));
 +    CHECK_EQ(base_num_errors  + 17, LogMessage::num_messages(GLOG_ERROR));
    }
  }
  
  static void NoAllocNewHook() {
 -  CHECK(false) << "unexpected new";
 +  LOG(FATAL) << "unexpected new";
  }
  
  struct NewHook {
@@@ -775,17 -768,18 +775,18 @@@ static void TestOneTruncate(const char 
    CHECK_ERR(fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0600));
  
    const char *discardstr = "DISCARDME!", *keepstr = "KEEPME!";
+   const size_t discard_size = strlen(discardstr), keep_size = strlen(keepstr);
  
    // Fill the file with the requested data; first discard data, then kept data
    int64 written = 0;
    while (written < dsize) {
-     int bytes = min<int64>(dsize - written, strlen(discardstr));
+     int bytes = min<int64>(dsize - written, discard_size);
      CHECK_ERR(write(fd, discardstr, bytes));
      written += bytes;
    }
    written = 0;
    while (written < ksize) {
-     int bytes = min<int64>(ksize - written, strlen(keepstr));
+     int bytes = min<int64>(ksize - written, keep_size);
      CHECK_ERR(write(fd, keepstr, bytes));
      written += bytes;
    }
    const char *p = buf;
    int64 checked = 0;
    while (checked < expect) {
-     int bytes = min<int64>(expect - checked, strlen(keepstr));
+     int bytes = min<int64>(expect - checked, keep_size);
      CHECK(!memcmp(p, keepstr, bytes));
      checked += bytes;
    }