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
|
|
|
|
2020-09-17 21:20:05 +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;
|
2021-04-12 00:15:26 +03:00
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2021-04-12 00:15:26 +03:00
|
|
|
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 00:15:26 +03:00
|
|
|
|
2021-04-12 12:30:51 +03:00
|
|
|
cvector_pop_back(OBJECTS_TO_RELEASE);
|
|
|
|
}
|
2021-04-12 00:15:26 +03:00
|
|
|
}
|
|
|
|
|
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
|
|
|
}
|
|
|
|
|
2020-09-17 21:20:05 +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
|
|
|
|
2020-09-17 21:20:05 +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
|
|
|
}
|