Fixing issues, enabled warnings and fixing on linux
This commit is contained in:
@@ -24,10 +24,12 @@ API void (*Error)(const char *, ...);
|
||||
struct backtrace_state *backtrace_state = NULL;
|
||||
|
||||
void BacktraceOnError(void *data, const char *msg, int errnum) {
|
||||
Unused(data);
|
||||
Error("libbacktrace error: %s (errnum: %d)\n", msg, errnum);
|
||||
}
|
||||
|
||||
int BacktraceOnPrint(void *data, uintptr_t pc, const char *filename, int lineno, const char *function) {
|
||||
Unused(data); Unused(pc);
|
||||
bool printed = false;
|
||||
if (filename != NULL) {
|
||||
char buffer[1024];
|
||||
@@ -46,6 +48,7 @@ int BacktraceOnPrint(void *data, uintptr_t pc, const char *filename, int lineno,
|
||||
}
|
||||
|
||||
void CrashHandler(int signal, siginfo_t* info, void* context) {
|
||||
Unused(signal); Unused(info); Unused(context);
|
||||
backtrace_full(backtrace_state, 2, BacktraceOnPrint, BacktraceOnError, NULL);
|
||||
exit(1);
|
||||
}
|
||||
@@ -102,7 +105,7 @@ API bool WriteFile(String path, String data) {
|
||||
FILE *f = fopen((const char *)null_term.data, "w");
|
||||
if (f) {
|
||||
size_t written = fwrite(data.data, 1, data.len, f);
|
||||
if (written == data.len) {
|
||||
if (SizeToInt(written) == data.len) {
|
||||
result = true;
|
||||
}
|
||||
fclose(f);
|
||||
|
||||
Reference in New Issue
Block a user