taisei/src
Andrei Alexeyev fda8556a39
src: deprecate strdup(), use mem_strdup() explicitly
This fixes a nasty bug that manifests on windows when building without
precompiled headers. util/stringops.h used to silently replace strdup
with a macro that's compatible with mem_free(). This header would
typically be included everywhere due to PCH, but without it the strdup
from libc would sometimes be in scope. On most platforms mem_free() is
equivalent to free(), but not on windows, because we have to use
_aligned_free() there. Attempting to mem_free() the result of a libc
strdup() would segfault in such a configuration.

Avoid the footgun by banning strdup() entirely. Maybe redefining libc
names isn't such a great idea, who knew?
2024-09-10 14:31:55 +02:00
..
audio src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
coroutine src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
cutscenes src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
dialog src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
eventloop src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
filewatch src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
lasers util/rectpack: refactor to use standard mempools 2024-06-05 23:53:30 +02:00
memory src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
menu src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
pch src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
pixmap src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
plrmodes gl33: remove trailing [0] from array uniform names 2024-08-30 11:52:47 +02:00
projectile_prototypes Add Reimu Hakurei as a playable character (#106) 2018-08-11 22:13:48 +03:00
renderer src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
replay src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
resource src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
rwops src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stages stage1: use correct depth function in background 2024-08-30 11:52:47 +02:00
util src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
vfs src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
aniplayer.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
aniplayer.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
arch_switch.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
arch_switch.h switch: use native screen resolution 2023-11-29 13:21:47 +01:00
assert.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
bitarray.h src: run upkeep 2024-05-17 04:58:47 +02:00
boss.c stageobjects: add type-based macros for acquiring from/releasing into the correct pool 2024-06-05 21:58:58 +02:00
boss.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
camcontrol.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
camcontrol.h src: run upkeep 2024-05-17 04:58:47 +02:00
cli.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
cli.h src: run upkeep 2024-05-17 04:58:47 +02:00
color.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
color.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
common_tasks.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
common_tasks.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
config.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
config.h config: change default bomb and surge gamepad buttons 2024-06-04 16:17:26 +02:00
credits.c src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
credits.h src: run upkeep 2024-05-17 04:58:47 +02:00
dialog.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
dialog.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
difficulty.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
difficulty.h src: run upkeep 2024-05-17 04:58:47 +02:00
drawlayers.inc.h WIP proj draw rule revamp; YoumuB revamp; misc changes; giant mess 2020-03-04 22:26:45 +02:00
dynarray.c dynarray: make UBSan happy 2024-08-30 11:52:47 +02:00
dynarray.h src: run upkeep 2024-05-17 04:58:47 +02:00
dynstage.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
dynstage.h src: run upkeep 2024-05-17 04:58:47 +02:00
dynstage_stub.c src: run upkeep 2024-05-17 04:58:47 +02:00
endings.h src: run upkeep 2024-05-17 04:58:47 +02:00
enemy.c stageobjects: add type-based macros for acquiring from/releasing into the correct pool 2024-06-05 21:58:58 +02:00
enemy.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
enemy_classes.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
enemy_classes.h src: run upkeep 2024-05-17 04:58:47 +02:00
entity.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
entity.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
events.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
events.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
framerate.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
framerate.h src: run upkeep 2024-05-17 04:58:47 +02:00
gamepad.c gamepad: direction snapping; more flexible configuration options 2024-05-27 19:23:59 +02:00
gamepad.h gamepad: direction snapping; more flexible configuration options 2024-05-27 19:23:59 +02:00
global.c global,mainmenu: enable Quit if quitting is allowed in kiosk mode 2024-06-04 16:31:46 +02:00
global.h global,mainmenu: enable Quit if quitting is allowed in kiosk mode 2024-06-04 16:31:46 +02:00
hashtable.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
hashtable.h src: run upkeep 2024-05-17 04:58:47 +02:00
hashtable.inc.h src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
hashtable_incproxy.inc.h Text rendering rewrite and optimizations; some refactoring (#129) 2018-06-30 00:36:51 +03:00
hashtable_predefs.inc.h src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
hirestime.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
hirestime.h src: run upkeep 2024-05-17 04:58:47 +02:00
item.c stageobjects: add type-based macros for acquiring from/releasing into the correct pool 2024-06-05 21:58:58 +02:00
item.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
known_entities.h src: run upkeep 2024-05-17 04:58:47 +02:00
list.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
list.h src: run upkeep 2024-05-17 04:58:47 +02:00
log.c src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
log.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
main.c renderer: decouple models and sprite_batch init/shutdown from main render system 2024-08-30 11:52:47 +02:00
meson.build memory/mempool: rename from objectpool 2024-06-05 18:35:08 +02:00
move.c src: run upkeep 2024-05-17 04:58:47 +02:00
move.h src: run upkeep 2024-05-17 04:58:47 +02:00
player.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
player.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
plrmodes.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
plrmodes.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
portrait.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
portrait.h src: run upkeep 2024-05-17 04:58:47 +02:00
progress.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
progress.h src: run upkeep 2024-05-17 04:58:47 +02:00
projectile.c stageobjects: add type-based macros for acquiring from/releasing into the correct pool 2024-06-05 21:58:58 +02:00
projectile.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
projectile_prototypes.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
random.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
random.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
ringbuf.c src: run upkeep 2024-05-17 04:58:47 +02:00
ringbuf.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stage.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stage.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stagedraw.c resources/shader/fxaa: don't rely on magic _SIZE uniform 2024-08-30 11:52:47 +02:00
stagedraw.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stageinfo.c src: deprecate strdup(), use mem_strdup() explicitly 2024-09-10 14:31:55 +02:00
stageinfo.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stageobjects.c memory/mempool: pass arena pointer to acquire() instead of storing in struct 2024-06-05 22:07:17 +02:00
stageobjects.h memory/mempool: pass arena pointer to acquire() instead of storing in struct 2024-06-05 22:07:17 +02:00
stagetext.c stageobjects: add type-based macros for acquiring from/releasing into the correct pool 2024-06-05 21:58:58 +02:00
stagetext.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stageutils.c gl33: remove trailing [0] from array uniform names 2024-08-30 11:52:47 +02:00
stageutils.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stats.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
stats.h src: run upkeep 2024-05-17 04:58:47 +02:00
taisei.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
taisei.manifest Improve high-DPI handling (#213) 2020-04-16 19:25:54 +03:00
taisei.rc.in windows: detect intel's shitty driver and fall back to ANGLE 2019-09-21 16:46:22 +03:00
taskmanager.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
taskmanager.h src: run upkeep 2024-05-17 04:58:47 +02:00
thread.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
thread.h src: run upkeep 2024-05-17 04:58:47 +02:00
transition.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
transition.h src: run upkeep 2024-05-17 04:58:47 +02:00
util.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
version.c src: run upkeep 2024-05-17 04:58:47 +02:00
version.h src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
version_auto.c.in src: run upkeep 2024-05-17 04:58:47 +02:00
video.c renderer: add r_unclaim_window API 2024-08-30 11:52:47 +02:00
video.h src: run upkeep 2024-05-17 04:58:47 +02:00
video_postprocess.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
video_postprocess.h src: run upkeep 2024-05-17 04:58:47 +02:00
watchdog.c src: the great #include massacre of 2024 2024-05-17 14:11:48 +02:00
watchdog.h src: run upkeep 2024-05-17 04:58:47 +02:00