mirror of
https://github.com/thunderbrewhq/squall.git
synced 2025-12-12 02:22:30 +00:00
fix(command): fixed infinite cleanup bug caused by ignorant usage of references by yours truly
This commit is contained in:
parent
d25d3653bb
commit
e9df378771
4 changed files with 39 additions and 29 deletions
|
|
@ -395,15 +395,13 @@ int32_t SCmdRegisterArgument(uint32_t flags, uint32_t id, const char* name, void
|
|||
STORM_VALIDATE((STORM_COMMAND_GET_TYPE(flags) != STORM_COMMAND_TYPE_BOOL) || (!variableptr) || (variablebytes == sizeof(uint32_t)), ERROR_INVALID_PARAMETER, 0);
|
||||
|
||||
// If argument is flagged, it goes in the flag list
|
||||
auto& cmdlist = s_arglist;
|
||||
auto listptr = &s_arglist;
|
||||
if (STORM_COMMAND_GET_ARG(flags) == STORM_COMMAND_ARG_FLAGGED) {
|
||||
cmdlist = s_flaglist;
|
||||
listptr = &s_flaglist;
|
||||
}
|
||||
|
||||
auto cmd = cmdlist.NewNode(2, 0, 0);
|
||||
auto cmd = listptr->NewNode(2, 0, 0);
|
||||
|
||||
SStrCopy(cmd->name, name, sizeof(cmd->name));
|
||||
|
||||
cmd->id = id;
|
||||
cmd->namelength = namelength;
|
||||
cmd->variableptr = variableptr;
|
||||
|
|
@ -412,7 +410,6 @@ int32_t SCmdRegisterArgument(uint32_t flags, uint32_t id, const char* name, void
|
|||
cmd->setvalue = setvalue;
|
||||
cmd->setmask = setmask;
|
||||
cmd->callback = callback;
|
||||
|
||||
if ((STORM_COMMAND_GET_TYPE(flags) == STORM_COMMAND_TYPE_BOOL) && (STORM_COMMAND_GET_BOOL(flags) == STORM_COMMAND_BOOL_CLEAR)) {
|
||||
cmd->currvalue = setvalue;
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue