emootootoo
Top Banana
- Reaction score
- 51
I've been looking into how to null a returned handle var.
eg.
I've done some searches, and am getting mixed messages here.
Source 1:http://www.thehelper.net/forums/showthread.php?t=33186
This says the variable will destroy itself when it returns the handle, so there's no need to null it.
Source 2:http://www.wc3campaigns.net/showthread.php?t=81872
This presents the problem that you arn't able to null a returned handle var, which implies that it does not destroy itself. "One, if your function must return the variable in question. Then, how can you set to null?"
So can anyone clear this up?
Also, assuming #2 is correct, to succesfully create/return a handle var with no leak I would have to use a wrapper? Like this?
eg.
JASS:
function hithar takes nothing returns group
local group g = CreateGroup()
...
return g
endfunction
I've done some searches, and am getting mixed messages here.
Source 1:http://www.thehelper.net/forums/showthread.php?t=33186
This says the variable will destroy itself when it returns the handle, so there's no need to null it.
Source 2:http://www.wc3campaigns.net/showthread.php?t=81872
This presents the problem that you arn't able to null a returned handle var, which implies that it does not destroy itself. "One, if your function must return the variable in question. Then, how can you set to null?"
So can anyone clear this up?
Also, assuming #2 is correct, to succesfully create/return a handle var with no leak I would have to use a wrapper? Like this?
JASS:
function helper takes group g returns group
// ... do stuff w/ g
return g
endfunction
function groupthing takes nothing returns group
return helper(CreateGroup())
endfunction