aboutsummaryrefslogtreecommitdiff
path: root/src/build/gluegen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/build/gluegen.c')
-rw-r--r--src/build/gluegen.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/build/gluegen.c b/src/build/gluegen.c
index e2bc2f3..3d1eef8 100644
--- a/src/build/gluegen.c
+++ b/src/build/gluegen.c
@@ -873,6 +873,15 @@ F( " extfree(con_getvarcommon(%.*s)->strval);",
cvar_names[i].len, cvar_names[i].s)
}
_( "}")
+_( "")
+_( "static inline void shuntvars() {")
+_( "#ifdef _WIN32")
+ for (int i = 1; i < ncvars; ++i) {
+F( " memmove(&%.*s->v1, &%.*s->v2, sizeof(struct con_var_common));",
+ cvar_names[i].len, cvar_names[i].s, cvar_names[i].len, cvar_names[i].s)
+ }
+_( "#endif")
+_( "}")
for (int i = 1; i < nevents; ++i) {
const char *prefix = event_predicateflags[i] ?
"bool CHECK_" : "void EMIT_";