Fix another malloc/delete mismatch, and improve makefile
This commit is contained in:
@@ -1,15 +1,26 @@
|
|||||||
OS=unspecified
|
|
||||||
|
|
||||||
ifeq ($(OS),mingw)
|
ifeq ($(OS),mingw)
|
||||||
EXE=main.exe
|
EXE=main.exe
|
||||||
LIBS=-lws2_32
|
LIBS=-lws2_32
|
||||||
LUAFLAGS=-DLUA_COMPAT_ALL
|
LUAFLAGS=-DLUA_COMPAT_ALL
|
||||||
|
OPT=-g -O1
|
||||||
|
DRIVER=driver-mingw
|
||||||
else ifeq ($(OS),linux)
|
else ifeq ($(OS),linux)
|
||||||
EXE=main
|
EXE=main
|
||||||
LIBS=
|
LIBS=
|
||||||
LUAFLAGS=-DLUA_USE_POSIX
|
LUAFLAGS=-DLUA_USE_POSIX
|
||||||
|
OPT=-g -O1
|
||||||
|
DRIVER=driver-linux
|
||||||
else
|
else
|
||||||
$(error You must specify OS=linux or OS=mingw)
|
# In this case, any attempt to build luprex will trigger an error,
|
||||||
|
# But making 'clean' will still work.
|
||||||
|
ERROR=$(error You must specify OS=linux or OS=mingw)
|
||||||
|
EXE=main
|
||||||
|
LIBS=$(ERROR)
|
||||||
|
LUAFLAGS=$(ERROR)
|
||||||
|
OPT=$(ERROR)
|
||||||
|
DRIVER=driver-xxx
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LUA_OBJ_FILES=\
|
LUA_OBJ_FILES=\
|
||||||
@@ -80,18 +91,18 @@ CORE_OBJ_FILES=\
|
|||||||
obj/drivertests.o\
|
obj/drivertests.o\
|
||||||
obj/printbuffer.o\
|
obj/printbuffer.o\
|
||||||
obj/main.o \
|
obj/main.o \
|
||||||
obj/driver-$(OS).o\
|
obj/$(DRIVER).o\
|
||||||
|
|
||||||
|
|
||||||
lobj/%.o: ../eris-master/src/%.c
|
lobj/%.o: ../eris-master/src/%.c
|
||||||
gcc -Wall -g -DLUA_USE_APICHECK $(LUAFLAGS) -c -MMD $< -o $@
|
gcc -Wall $(OPT) -DLUA_USE_APICHECK $(LUAFLAGS) -c -MMD $< -o $@
|
||||||
|
|
||||||
obj/%.o: cpp/%.cpp
|
obj/%.o: cpp/%.cpp
|
||||||
g++ -std=c++17 -Wall -g -Iinc -Icpp -c -MMD $< -o $@
|
g++ -std=c++17 -Wall $(OPT) -Iinc -Icpp -c -MMD $< -o $@
|
||||||
|
|
||||||
|
|
||||||
$(EXE): $(CORE_OBJ_FILES) $(LUA_OBJ_FILES)
|
$(EXE): $(CORE_OBJ_FILES) $(LUA_OBJ_FILES)
|
||||||
g++ -std=c++17 -Wall -g -o $@ $(CORE_OBJ_FILES) $(LUA_OBJ_FILES) $(LIBS)
|
g++ -std=c++17 -Wall $(OPT) -o $@ $(CORE_OBJ_FILES) $(LUA_OBJ_FILES) $(LIBS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f main.exe main obj/* lobj/*
|
rm -f main.exe main obj/* lobj/*
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ char *StreamBuffer::get_overwrite(int64_t size, int64_t write_count_after) {
|
|||||||
void StreamBuffer::clear() {
|
void StreamBuffer::clear() {
|
||||||
assert(owned_);
|
assert(owned_);
|
||||||
if (!fixed_size_) {
|
if (!fixed_size_) {
|
||||||
if (buf_lo_ != nullptr) delete buf_lo_;
|
if (buf_lo_ != nullptr) free(buf_lo_);
|
||||||
buf_lo_ = 0;
|
buf_lo_ = 0;
|
||||||
buf_hi_ = 0;
|
buf_hi_ = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user