Permalink
Browse files

use PRIu64 for printing 64-bit in, %d for printing int

Fixes a warning.
  • Loading branch information...
evmar committed Jun 18, 2012
1 parent ecf7324 commit b77614301e032e19e7cb2b3b5a6dea9464c05a5e
Showing with 23 additions and 2 deletions.
  1. +4 −2 src/build_log.cc
  2. +19 −0 src/win32port.h
View
@@ -19,6 +19,8 @@
#include <string.h>
#ifndef _WIN32
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
#include <unistd.h>
#endif
@@ -325,8 +327,8 @@ BuildLog::LogEntry* BuildLog::LookupByOutput(const string& path) {
}
void BuildLog::WriteEntry(FILE* f, const LogEntry& entry) {
- fprintf(f, "%d\t%d\t%ld\t%s\t%llu\n",
- entry.start_time, entry.end_time, (long) entry.restat_mtime,
+ fprintf(f, "%d\t%d\t%d\t%s\t%" PRIu64 "\n",
+ entry.start_time, entry.end_time, entry.restat_mtime,
entry.output.c_str(), entry.command_hash);
}
View
@@ -1,3 +1,17 @@
+// Copyright 2012 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
#ifndef NINJA_WIN32PORT_H_
#define NINJA_WIN32PORT_H_
#pragma once
@@ -6,5 +20,10 @@
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
+// printf format specifier for uint64_t, from C99.
+#ifndef PRIu64
+#define PRIu64 "I64u"
+#endif
+
#endif // NINJA_WIN32PORT_H_

0 comments on commit b776143

Please sign in to comment.