bool DesuraJSSettings::isValidLinkBinary(gcString path) { if (!UTIL::FS::isValidFile(path)) return false; #ifdef WIN32 return (path.find_last_of(".exe") == path.size()-1); #else char magicBytes[5] = {0}; try { UTIL::FS::FileHandle fh(path.c_str(), UTIL::FS::FILE_READ); fh.read(magicBytes, 5); } catch (...) { return false; } return UTIL::LIN::getFileType(magicBytes, 5) != UTIL::LIN::BT_UNKNOWN; #endif }