- Switched back to custom window management, taking another stab
- Refactored lang yet again, `fennec/lang` is now C++ language. `fennec/string` `fennec/filesystem` and `fennec/format` are now independent.
This commit is contained in:
@@ -16,42 +16,17 @@
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
// =====================================================================================================================
|
||||
|
||||
#include <fennec/lang/detail/_stdlib.h>
|
||||
|
||||
#include <fennec/lang/filesystem/path.h>
|
||||
using assert_handler = void (*)(const char *, const char *, int , const char *);
|
||||
|
||||
namespace fennec
|
||||
void _assert_callback(const char* expression, const char* file, int line, const char* function, const char* description);
|
||||
|
||||
void _assert_impl(const char* expression, const char* file, int line, const char* function, const char* description, bool halt)
|
||||
{
|
||||
_assert_callback(expression, file, line, function, description);
|
||||
|
||||
#ifdef FENNEC_COMPILER_MSVC
|
||||
|
||||
path path::current() {
|
||||
char cstr[MAX_PATH];
|
||||
if (GetCurrentDirectory(sizeof(str), str) == 0) {
|
||||
return string("");
|
||||
if (halt) {
|
||||
::abort();
|
||||
}
|
||||
return path(cstr);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <unistd.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
path path::current() {
|
||||
char cstr[PATH_MAX];
|
||||
if (getcwd(cstr, sizeof(cstr)) == nullptr) {
|
||||
return path("");
|
||||
}
|
||||
return path(cstring(cstr, strlen(cstr) + 1));
|
||||
}
|
||||
|
||||
path path::current(const path& path) {
|
||||
if (chdir(path._str.cstr())) {
|
||||
return fennec::path("");
|
||||
}
|
||||
return current();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user