sqlite/src/wrapper.c

50 lines
1015 B
C
Raw Normal View History

2019-07-19 15:12:49 +03:00
#include "sqliteInt.h"
2021-04-12 12:30:51 +03:00
#include "../cvector/cvector.h"
#include <stdlib.h>
2019-07-19 15:12:49 +03:00
const char *RESULT_PTR;
2020-09-14 21:00:27 +03:00
int RESULT_SIZE;
2019-07-19 15:12:49 +03:00
2021-04-12 12:30:51 +03:00
cvector_vector_type(void *) OBJECTS_TO_RELEASE;
2020-04-17 20:44:55 +03:00
void* allocate(size_t size) {
2021-04-12 12:30:51 +03:00
// this +1 is needed to append then zero byte to strings passing to this module.
2019-07-19 15:12:49 +03:00
return malloc(size + 1);
}
void release_objects() {
2021-04-12 12:30:51 +03:00
const unsigned int objects_count = cvector_size(OBJECTS_TO_RELEASE);
for (unsigned int obj_id = objects_count; obj_id > 0; --obj_id) {
void *object = OBJECTS_TO_RELEASE[obj_id-1];
free(object);
2021-04-12 12:30:51 +03:00
cvector_pop_back(OBJECTS_TO_RELEASE);
}
}
2021-04-12 11:40:33 +03:00
void add_object_to_release(void *object) {
2021-04-12 12:30:51 +03:00
cvector_push_back(OBJECTS_TO_RELEASE, object);
2019-07-19 15:12:49 +03:00
}
void set_result_ptr(const char *ptr) {
2020-09-14 21:00:27 +03:00
RESULT_PTR = ptr;
}
2019-07-19 15:12:49 +03:00
2020-09-14 21:00:27 +03:00
void set_result_size(int size) {
RESULT_SIZE = size;
}
int get_result_size(void) {
return RESULT_SIZE;
}
2019-07-19 15:12:49 +03:00
const char *get_result_ptr() {
2020-09-14 21:00:27 +03:00
return RESULT_PTR;
2019-07-19 15:12:49 +03:00
}
2021-03-04 14:04:48 +03:00
int main() {
2021-04-12 12:30:51 +03:00
// the main purpose of this empty main is to initialize WASI subsystem
2021-03-04 14:04:48 +03:00
return 0;
2021-04-12 12:30:51 +03:00
}