add
This commit is contained in:
37
Assets/XLua/Plugins/iOS/HotfixFlags.cpp
Executable file
37
Assets/XLua/Plugins/iOS/HotfixFlags.cpp
Executable file
@@ -0,0 +1,37 @@
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int* xlua_hotfix_flags = NULL;
|
||||
int xlua_hotfix_flags_len = 0;
|
||||
|
||||
extern "C" {
|
||||
|
||||
int xlua_get_hotfix_flag(int idx) {
|
||||
if (idx >= xlua_hotfix_flags_len) {
|
||||
return 0;
|
||||
} else {
|
||||
return xlua_hotfix_flags[idx];
|
||||
}
|
||||
}
|
||||
|
||||
void xlua_set_hotfix_flag(int idx, int flag) {
|
||||
int i = 0;
|
||||
int* new_hotfix_flags = NULL;
|
||||
if (idx >= xlua_hotfix_flags_len) {
|
||||
if (xlua_hotfix_flags == NULL) {
|
||||
xlua_hotfix_flags = (int*)malloc((idx + 1) * sizeof(int));
|
||||
} else {
|
||||
new_hotfix_flags = (int*)realloc(xlua_hotfix_flags, (idx + 1) * sizeof(int));
|
||||
if (NULL == new_hotfix_flags) { // just skip operation
|
||||
return;
|
||||
}
|
||||
xlua_hotfix_flags = new_hotfix_flags;
|
||||
}
|
||||
for(i = xlua_hotfix_flags_len; i < (idx + 1); i++) {
|
||||
xlua_hotfix_flags[i] = 0;
|
||||
}
|
||||
xlua_hotfix_flags_len = idx + 1;
|
||||
}
|
||||
xlua_hotfix_flags[idx] = flag;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user