| 189 | } |
| 190 | |
| 191 | std::vector<eh_index> GetIndicesFromMinimal(std::vector<unsigned char> minimal, |
| 192 | size_t cBitLen) |
| 193 | { |
| 194 | assert(((cBitLen+1)+7)/8 <= sizeof(eh_index)); |
| 195 | size_t lenIndices { 8*sizeof(eh_index)*minimal.size()/(cBitLen+1) }; |
| 196 | size_t bytePad { sizeof(eh_index) - ((cBitLen+1)+7)/8 }; |
| 197 | std::vector<unsigned char> array(lenIndices); |
| 198 | ExpandArray(minimal.data(), minimal.size(), |
| 199 | array.data(), lenIndices, cBitLen+1, bytePad); |
| 200 | std::vector<eh_index> ret; |
| 201 | for (size_t i = 0; i < lenIndices; i += sizeof(eh_index)) { |
| 202 | ret.push_back(ArrayToEhIndex(array.data()+i)); |
| 203 | } |
| 204 | return ret; |
| 205 | } |
| 206 | |
| 207 | std::vector<unsigned char> GetMinimalFromIndices(std::vector<eh_index> indices, |
| 208 | size_t cBitLen) |