| 928 | } |
| 929 | |
| 930 | void ConfigStorage::Writer::write(ITEM tag, ULONG len, const void* data) |
| 931 | { |
| 932 | if (m_mem + 1 > m_end) |
| 933 | (Arg::Gds(isc_random) << Arg::Str("Item data not fits into memory")).raise(); |
| 934 | |
| 935 | *m_mem++ = tag; |
| 936 | if (tag == tagEnd) |
| 937 | return; |
| 938 | |
| 939 | if (m_mem + sizeof(len) + len > m_end) |
| 940 | (Arg::Gds(isc_random) << Arg::Str("Item data not fits into memory")).raise(); |
| 941 | |
| 942 | memcpy(m_mem, &len, sizeof(len)); |
| 943 | m_mem += sizeof(len); |
| 944 | |
| 945 | memcpy(m_mem, data, len); |
| 946 | m_mem += len; |
| 947 | } |
| 948 | |
| 949 | const void* ConfigStorage::Reader::read(ITEM& tag, ULONG& len) |
| 950 | { |
no test coverage detected