summaryrefslogtreecommitdiff
path: root/lib/Support/Path.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-10 15:27:39 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-10 15:27:39 +0000
commitf12745f7a7e68c05c89ebd515b9b4faedce37dd0 (patch)
treecddc0ab5c895c526e7a8113f5fb60ee5870fead6 /lib/Support/Path.cpp
parentb972457783f6f992d8ee2fe392609fd4b0c5cf00 (diff)
downloadllvm-f12745f7a7e68c05c89ebd515b9b4faedce37dd0.tar.gz
llvm-f12745f7a7e68c05c89ebd515b9b4faedce37dd0.tar.bz2
llvm-f12745f7a7e68c05c89ebd515b9b4faedce37dd0.tar.xz
Pass a StringRef to sys::identifyFileType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183669 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Path.cpp')
-rw-r--r--lib/Support/Path.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp
index b6eeb1484c..bf1ae44e0d 100644
--- a/lib/Support/Path.cpp
+++ b/lib/Support/Path.cpp
@@ -38,9 +38,9 @@ bool Path::operator<(const Path& that) const {
}
LLVMFileType
-sys::identifyFileType(const char *Magic, unsigned Length) {
- assert(Magic && "Invalid magic number string");
- assert(Length >=4 && "Invalid magic number length");
+sys::identifyFileType(StringRef Magic) {
+ unsigned Length = Magic.size();
+ assert(Length >= 4 && "Invalid magic number length");
switch ((unsigned char)Magic[0]) {
case 0xDE: // 0x0B17C0DE = BC wraper
if (Magic[1] == (char)0xC0 && Magic[2] == (char)0x17 &&
@@ -53,7 +53,7 @@ sys::identifyFileType(const char *Magic, unsigned Length) {
break;
case '!':
if (Length >= 8)
- if (memcmp(Magic,"!<arch>\n",8) == 0)
+ if (memcmp(Magic.data(),"!<arch>\n",8) == 0)
return Archive_FileType;
break;
@@ -136,9 +136,9 @@ sys::identifyFileType(const char *Magic, unsigned Length) {
case 0x4d: // Possible MS-DOS stub on Windows PE file
if (Magic[1] == 0x5a) {
uint32_t off =
- *reinterpret_cast<const ulittle32_t *>(Magic + 0x3c);
+ *reinterpret_cast<const ulittle32_t *>(Magic.data() + 0x3c);
// PE/COFF file, either EXE or DLL.
- if (off < Length && memcmp(Magic + off, "PE\0\0",4) == 0)
+ if (off < Length && memcmp(Magic.data() + off, "PE\0\0",4) == 0)
return COFF_FileType;
}
break;