| 59 | } |
| 60 | |
| 61 | void verify() const |
| 62 | { |
| 63 | Msg("strings verify started"); |
| 64 | for (auto value : buffer) |
| 65 | { |
| 66 | while (value) |
| 67 | { |
| 68 | const auto crc = crc32(value->value, value->dwLength); |
| 69 | string32 crc_str; |
| 70 | R_ASSERT(crc == value->dwCRC, "CorePanic: read-only memory corruption (shared_strings)", _itoa(value->dwCRC, crc_str, 16)); |
| 71 | R_ASSERT(value->dwLength == xr_strlen(value->value), "CorePanic: read-only memory corruption (shared_strings, internal structures)", value->value); |
| 72 | value = value->next; |
| 73 | } |
| 74 | } |
| 75 | Msg("strings verify completed"); |
| 76 | } |
| 77 | |
| 78 | void dump(FILE* f) const |
| 79 | { |