aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Archive/ArchiveReader.cpp4
-rw-r--r--lib/Bytecode/Archive/ArchiveReader.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/Archive/ArchiveReader.cpp b/lib/Archive/ArchiveReader.cpp
index 28327df4cb..56b42ffdb2 100644
--- a/lib/Archive/ArchiveReader.cpp
+++ b/lib/Archive/ArchiveReader.cpp
@@ -190,7 +190,9 @@ Archive::parseMemberHeader(const char*& At, const char* End) {
member->path.setFile(pathname);
member->info.fileSize = MemberSize;
member->info.modTime.fromEpochTime(atoi(Hdr->date));
- sscanf(Hdr->mode, "%o", &(member->info.mode));
+ unsigned int mode;
+ sscanf(Hdr->mode, "%o", &mode);
+ member->info.mode = mode;
member->info.user = atoi(Hdr->uid);
member->info.group = atoi(Hdr->gid);
member->flags = flags;
diff --git a/lib/Bytecode/Archive/ArchiveReader.cpp b/lib/Bytecode/Archive/ArchiveReader.cpp
index 28327df4cb..56b42ffdb2 100644
--- a/lib/Bytecode/Archive/ArchiveReader.cpp
+++ b/lib/Bytecode/Archive/ArchiveReader.cpp
@@ -190,7 +190,9 @@ Archive::parseMemberHeader(const char*& At, const char* End) {
member->path.setFile(pathname);
member->info.fileSize = MemberSize;
member->info.modTime.fromEpochTime(atoi(Hdr->date));
- sscanf(Hdr->mode, "%o", &(member->info.mode));
+ unsigned int mode;
+ sscanf(Hdr->mode, "%o", &mode);
+ member->info.mode = mode;
member->info.user = atoi(Hdr->uid);
member->info.group = atoi(Hdr->gid);
member->flags = flags;