diff options
| -rw-r--r-- | build_linux.sh | 6 | ||||
| -rw-r--r-- | build_osx.sh | 6 | ||||
| -rw-r--r-- | mem/mem.cpp | 21 |
3 files changed, 19 insertions, 14 deletions
diff --git a/build_linux.sh b/build_linux.sh index c63ebc4..cd11be6 100644 --- a/build_linux.sh +++ b/build_linux.sh @@ -1,15 +1,15 @@ shopt -s extglob OUT_DIR="bin/debug" -FLAGS="-g3 -Wall" +FLAGS="-g3 -Wall -DTS_DEBUG" if [[ $* == *-release* ]]; then OUT_DIR="bin/release" - FLAGS="-O3" + FLAGS="-O3 -DTS_RELEASE" fi mkdir -p $OUT_DIR -g++ -m64 -std=c++17 $FLAGS -DUNICODE -o $OUT_DIR/text-search imgui/imgui*.cpp imgui/backends/imgui_impl_glfw.cpp src/widgets/*.cpp src/*.cpp imfiledialog/*.cpp src/unix/*.cpp -Iimgui -Iimgui/backends -Isrc -Isrc/unix -pthread -ldl -lglfw -lGLU -lGL +g++ -m64 -std=c++17 $FLAGS -DUNICODE -o $OUT_DIR/text-search imgui/imgui*.cpp imgui/backends/imgui_impl_glfw.cpp src/widgets/*.cpp src/*.cpp imfiledialog/*.cpp src/unix/*.cpp mem/mem.cpp -Iimgui -Imem -Iimgui/backends -Isrc -Isrc/unix -pthread -ldl -lglfw -lGLU -lGL if [[ $* == *-r* ]]; then ./$OUT_DIR/text-search diff --git a/build_osx.sh b/build_osx.sh index bd30b10..382374d 100644 --- a/build_osx.sh +++ b/build_osx.sh @@ -3,18 +3,18 @@ shopt -s extglob OUT_DIR="bin/debug" -FLAGS="-g3 -w" +FLAGS="-g3 -w -DTS_DEBUG" if [[ $* == *-release* ]]; then OUT_DIR="bin/release" - FLAGS="-O3" + FLAGS="-O3 -DTS_RELEASE" fi mkdir -p $OUT_DIR # misc items are converted to header files, not embedded. (xxd -i LICENSE misc/osx/LICENSE.h) -g++ -m64 -std=c++17 $FLAGS -DUNICODE -o $OUT_DIR/text-search imgui/imgui*.cpp imgui/backends/imgui_impl_glfw.cpp src/widgets/*.cpp src/*.cpp imfiledialog/*.cpp src/unix/*.cpp -Iimgui -Iimgui/backends -Isrc -Isrc/unix -pthread -ldl -lglfw -lGL +g++ -m64 -std=c++17 $FLAGS -DUNICODE -o $OUT_DIR/text-search imgui/imgui*.cpp imgui/backends/imgui_impl_glfw.cpp src/widgets/*.cpp src/*.cpp imfiledialog/*.cpp src/unix/*.cpp mem/mem.cpp -Iimgui -Imem -Iimgui/backends -Isrc -Isrc/unix -pthread -ldl -lglfw -lGL if [[ $* == *-release* ]]; then cp $OUT_DIR/text-search misc/text-search.app/Contents/MacOS/text-search diff --git a/mem/mem.cpp b/mem/mem.cpp index 0442d4e..43f5a89 100644 --- a/mem/mem.cpp +++ b/mem/mem.cpp @@ -2,6 +2,9 @@ #include <stdlib.h> #include <stdio.h> +#ifndef _WIN32 +#include <unistd.h> +#endif #pragma warning(disable : 4996) void *debug_malloc(size_t size, const char* file, int line) { void *p = malloc(size); @@ -12,10 +15,10 @@ void *debug_malloc(size_t size, const char* file, int line) { char buff[256]; - sprintf(buff, "%p.mem", p); + sprintf(buff, "bin/debug/mem/%p.mem", p); FILE *f = fopen(buff, "w"); - + if (!f) return p; fprintf(f, "File: %s\nLine: %d\nSize: %zu bytes\n", file, line, size); fclose(f); @@ -31,9 +34,10 @@ void *debug_calloc(size_t count, size_t size, const char* file, int line) { char buff[256]; - sprintf(buff, "%p.mem", p); + sprintf(buff, "bin/debug/mem/%p.mem", p); FILE *f = fopen(buff, "w"); + if (!f) return p; fprintf(f, "File: %s\nLine: %d\nSize: %zu bytes\n", file, line, count * size); @@ -51,15 +55,16 @@ void *debug_realloc(void *ptr, size_t size, const char* file, int line) { char buff[256]; //Delete the old pointer record - sprintf(buff, "%p.mem", ptr); - if (unlink(buff) < 0) { + sprintf(buff, "bin/debug/mem/%p.mem", ptr); + if (ptr != NULL && unlink(buff) < 0) { printf("Double free: %p File: %s Line: %d\n", ptr, file, line); } //Create the new pointer record - sprintf(buff, "%p.mem", p); + sprintf(buff, "bin/debug/mem/%p.mem", p); FILE *f = fopen(buff, "w"); + if (!f) return p; fprintf(f, "File: %s\nLine: %d\nSize: %zu bytes\n", file, line, size); fclose(f); @@ -70,8 +75,8 @@ void *debug_realloc(void *ptr, size_t size, const char* file, int line) { void debug_free(void *p, const char* file, int line) { char buff[256]; - sprintf(buff, "%p.mem", p); - if (unlink(buff) < 0) { + sprintf(buff, "bin/debug/mem/%p.mem", p); + if (p != NULL && unlink(buff) < 0) { printf("Double free: %p File: %s Line: %d\n", p, file, line); } |
