Lines Matching refs:Magic

954 file_magic identify_magic(StringRef Magic) {
955 if (Magic.size() < 4)
957 switch ((unsigned char)Magic[0]) {
960 if (Magic[1] == (char)0x00 && Magic[2] == (char)0xff &&
961 Magic[3] == (char)0xff) {
963 if (Magic.size() < MinSize)
967 Magic.data() + offsetof(COFF::BigObjHeader, Version));
971 const char *Start = Magic.data() + offsetof(COFF::BigObjHeader, UUID);
978 if (Magic.size() >= sizeof(Expected) &&
979 memcmp(Magic.data(), Expected, sizeof(Expected)) == 0)
982 if (Magic[1] == 0)
987 if (Magic[1] == (char)0xC0 && Magic[2] == (char)0x17 &&
988 Magic[3] == (char)0x0B)
992 if (Magic[1] == 'C' && Magic[2] == (char)0xC0 && Magic[3] == (char)0xDE)
996 if (Magic.size() >= 8)
997 if (memcmp(Magic.data(), "!<arch>\n", 8) == 0 ||
998 memcmp(Magic.data(), "!<thin>\n", 8) == 0)
1003 if (Magic.size() >= 18 && Magic[1] == 'E' && Magic[2] == 'L' &&
1004 Magic[3] == 'F') {
1005 bool Data2MSB = Magic[5] == 2;
1008 if (Magic[high] == 0)
1009 switch (Magic[low]) {
1023 if (Magic[1] == char(0xFE) && Magic[2] == char(0xBA) &&
1024 Magic[3] == char(0xBE)) {
1027 if (Magic.size() >= 8 && Magic[7] < 43)
1039 if (Magic[0] == char(0xFE) && Magic[1] == char(0xED) &&
1040 Magic[2] == char(0xFA) &&
1041 (Magic[3] == char(0xCE) || Magic[3] == char(0xCF))) {
1043 if (Magic.size() >= 16) type = Magic[14] << 8 | Magic[15];
1044 } else if ((Magic[0] == char(0xCE) || Magic[0] == char(0xCF)) &&
1045 Magic[1] == char(0xFA) && Magic[2] == char(0xED) &&
1046 Magic[3] == char(0xFE)) {
1048 if (Magic.size() >= 14) type = Magic[13] << 8 | Magic[12];
1073 if (Magic[1] == 0x01)
1078 if (Magic[1] == 0x02)
1083 if (Magic[1] == 'Z') {
1084 uint32_t off = read32le(Magic.data() + 0x3c);
1086 if (off < Magic.size() &&
1087 memcmp(Magic.data()+off, COFF::PEMagic, sizeof(COFF::PEMagic)) == 0)
1093 if (Magic[1] == char(0x86))