Fix format specifier in proc maps to support 32-bit architectures.
R=ivanpe@chromium.org
Review URL: https://codereview.chromium.org/1288323003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1486 4c0a9323-5329-0410-9bdc-e9ce6186880e
diff --git a/src/processor/proc_maps_linux.cc b/src/processor/proc_maps_linux.cc
index 1954cc8..3ba767f 100644
--- a/src/processor/proc_maps_linux.cc
+++ b/src/processor/proc_maps_linux.cc
@@ -61,10 +61,10 @@
// The final %n term captures the offset in the input string, which is used
// to determine the path name. It *does not* increment the return value.
// Refer to man 3 sscanf for details.
- if (sscanf(line, "%lx-%lx %4c %lx %hhx:%hhx %ld %n",
- ®ion.start, ®ion.end, permissions, ®ion.offset,
- ®ion.major_device, ®ion.minor_device, ®ion.inode,
- &path_index) < 7) {
+ if (sscanf(line, "%" SCNx64 "-%" SCNx64 " %4c %" SCNx64" %hhx:%hhx %"
+ SCNd64 " %n", ®ion.start, ®ion.end, permissions,
+ ®ion.offset, ®ion.major_device, ®ion.minor_device,
+ ®ion.inode, &path_index) < 7) {
BPLOG(ERROR) << "sscanf failed for line: " << line;
return false;
}