- 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:
2025-12-04 01:04:36 -05:00
parent d928d86014
commit 6d58105734
137 changed files with 15651 additions and 510 deletions

View File

@@ -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