openwrt-packages/libs/ibrcommon/patches/001-fix-build-with-musl.patch

34 lines
797 B
Diff

--- a/ibrcommon/data/File.cpp
+++ b/ibrcommon/data/File.cpp
@@ -35,10 +35,6 @@
#include <cerrno>
#include <fstream>
-#if !defined(HAVE_FEATURES_H) || defined(ANDROID)
-#include <libgen.h>
-#endif
-
#ifdef __WIN32__
#include <io.h>
#define FILE_DELIMITER_CHAR '\\'
@@ -225,14 +221,11 @@ namespace ibrcommon
std::string File::getBasename() const
{
-#if !defined(ANDROID) && defined(HAVE_FEATURES_H)
- return std::string(basename(_path.c_str()));
-#else
- char path[_path.length()+1];
- ::memcpy(&path, _path.c_str(), _path.length()+1);
-
- return std::string(basename(path));
-#endif
+ size_t found = _path.find_last_of('/');
+ if (found != std::string::npos)
+ return _path.substr(found + 1);
+ else
+ return _path;
}
File File::get(const std::string &filename) const