summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build_linux.sh6
-rw-r--r--build_osx.sh6
-rw-r--r--mem/mem.cpp21
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);
}