2015-09-19 19:33:25 +00:00
|
|
|
/*
|
|
|
|
* Author: ?
|
|
|
|
* ?
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* ?
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* ?
|
|
|
|
*
|
|
|
|
* Public: ?
|
|
|
|
*/
|
2015-01-14 21:29:52 +00:00
|
|
|
#include "script_component.hpp"
|
|
|
|
|
2016-07-25 16:57:38 +00:00
|
|
|
ACE_DEPRECATED(QFUNC(hashRem),"3.8.0","CBA_fnc_hashRem");
|
|
|
|
|
2015-09-19 19:33:25 +00:00
|
|
|
params ["_hash", "_key"];
|
|
|
|
|
2015-01-14 21:29:52 +00:00
|
|
|
ERRORDATA(2);
|
2015-12-12 15:48:54 +00:00
|
|
|
private _val = nil;
|
2015-01-14 21:29:52 +00:00
|
|
|
try {
|
2015-02-19 18:14:52 +00:00
|
|
|
if(VALIDHASH(_hash)) then {
|
2015-12-12 15:48:54 +00:00
|
|
|
private _index = (_hash select 0) find _key;
|
2015-02-19 18:14:52 +00:00
|
|
|
if(_index != -1) then {
|
|
|
|
(_hash select 1) set[_index, "ACREHASHREMOVEDONOTUSETHISVAL"];
|
|
|
|
// is this hash is not part of a hash list?
|
|
|
|
// if it is we need to leave the keys intact.
|
|
|
|
if((count _hash) == 2) then {
|
|
|
|
// if this is a standalone hash then we can clean it up
|
|
|
|
(_hash select 0) set[_index, "ACREHASHREMOVEDONOTUSETHISVAL"];
|
|
|
|
_hash set[0, ((_hash select 0) - ["ACREHASHREMOVEDONOTUSETHISVAL"])];
|
|
|
|
_hash set[1, ((_hash select 1) - ["ACREHASHREMOVEDONOTUSETHISVAL"])];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
} else {
|
|
|
|
ERROR("Input hash is not valid");
|
|
|
|
};
|
2015-01-14 21:29:52 +00:00
|
|
|
} catch {
|
2015-02-19 18:14:52 +00:00
|
|
|
HANDLECATCH;
|
2015-01-14 21:29:52 +00:00
|
|
|
};
|
|
|
|
true
|