Fix SEGFAULTs
parent
e3117e3197
commit
19d143de81
2
array.c
2
array.c
|
@ -22,7 +22,7 @@ void array_insert(Array *array, void *elem, size_t idx)
|
|||
array_alloc(array, 1);
|
||||
|
||||
void **iptr = array->ptr + idx;
|
||||
memmove(iptr + 1, iptr, oldsiz - idx);
|
||||
memmove(iptr + 1, iptr, (oldsiz - idx) * sizeof(void *));
|
||||
*iptr = elem;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ BinsearchResult binsearch(void *search, void **array, size_t size, BinsearchComp
|
|||
|
||||
if (state == 0)
|
||||
return (BinsearchResult) {true, mid};
|
||||
else if (state < 0)
|
||||
else if (state > 0)
|
||||
max = mid;
|
||||
else
|
||||
min = mid;
|
||||
|
|
15
server.c
15
server.c
|
@ -1,14 +1,21 @@
|
|||
#include <assert.h>
|
||||
#include "map.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
Map *map = map_create(NULL);
|
||||
map_set_node(map, (v3s32) {0, 0, 0}, map_node_create(NODE_STONE));
|
||||
printf("test 1 passed\n");
|
||||
map_set_node(map, (v3s32) {0, 5, 89}, map_node_create(NODE_DIRT));
|
||||
printf("test 2 passed\n");
|
||||
map_set_node(map, (v3s32) {321, 0, 89}, map_node_create(NODE_GRASS));
|
||||
printf("test 3 passed\n");
|
||||
map_set_node(map, (v3s32) {3124, 99, 2}, map_node_create(NODE_GRASS));
|
||||
printf("test 4 passed\n");
|
||||
MapBlock *block = map_get_block(map, (v3s32) {0, 0, 0}, false);
|
||||
if (! block) {
|
||||
fprintf(stderr, "Map error\n");
|
||||
return 1;
|
||||
}
|
||||
assert(block);
|
||||
printf("(0 | 0 | 0) Block dump:\n");
|
||||
ITERATE_MAPBLOCK printf("%d", block->data[x][y][z].type);
|
||||
|
||||
map_delete(map);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue