clone map
| 76 | |
| 77 | // clone map |
| 78 | SIValue Map_Clone |
| 79 | ( |
| 80 | SIValue map // map to clone |
| 81 | ) { |
| 82 | ASSERT(SI_TYPE(map) & T_MAP); |
| 83 | |
| 84 | uint key_count = Map_KeyCount(map); |
| 85 | SIValue clone = Map_New(key_count); |
| 86 | |
| 87 | for(uint i = 0; i < key_count; i++) { |
| 88 | Pair p = map.map[i]; |
| 89 | Map_Add(&clone, p.key, p.val); |
| 90 | } |
| 91 | |
| 92 | return clone; |
| 93 | } |
| 94 | |
| 95 | // adds key/value to map |
| 96 | void Map_Add |
no test coverage detected