35 #include "ha0storage.ic"
51 ha_storage_node_t* node;
56 fold =
ut_fold_binary(static_cast<const unsigned char*>(data), data_len);
59 node->data_len == data_len && memcmp(node->data, data, data_len) == 0
90 ha_storage_put_memlim(
98 ha_storage_node_t* node;
99 const void* data_copy;
103 data_copy = ha_storage_get(storage, data, data_len);
104 if (data_copy != NULL) {
121 sizeof(ha_storage_node_t) + data_len);
123 node = (ha_storage_node_t*) raw;
124 data_copy = (byte*) raw +
sizeof(*node);
126 memcpy((byte*) raw +
sizeof(*node), data, data_len);
128 node->data_len = data_len;
129 node->data = data_copy;
133 fold =
ut_fold_binary(static_cast<const unsigned char *>(data), data_len);
147 #ifdef UNIV_COMPILE_TEST_FUNCS
155 const void* stored[256];
160 for (i = 0; i < 256; i++) {
162 memset(buf, i,
sizeof(buf));
168 for (i = 255; i >= 0; i--) {
170 memset(buf, i,
sizeof(buf));
173 if (p != stored[i]) {
175 fprintf(stderr,
"ha_storage_put() returned %p "
176 "instead of %p, i=%d\n", p, stored[i], i);
181 fprintf(stderr,
"all ok\n");