Sha256: 8a4b22241abc5465b9e1511014546da9e3bcf3ca23098b1a01e3f180a2f1a52d

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 KB

Contents

#include <stdlib.h>
#include <string.h>
#include "rlite.h"
#include "page_string.h"
#include "util.h"

int rl_string_serialize(rlite *db, void *obj, unsigned char *data)
{
	memcpy(data, obj, sizeof(char) * db->page_size);
	return RL_OK;
}

int rl_string_deserialize(rlite *db, void **obj, void *UNUSED(context), unsigned char *data)
{
	int retval;
	unsigned char *new_data;
	RL_MALLOC(new_data, sizeof(char) * db->page_size);
	memcpy(new_data, data, sizeof(char) * db->page_size);
	*obj = new_data;
	retval = RL_OK;
cleanup:
	return retval;
}

int rl_string_destroy(rlite *UNUSED(db), void *obj)
{
	rl_free(obj);
	return RL_OK;
}

int rl_string_create(rlite *db, unsigned char **_data, long *number)
{
	unsigned char *data = calloc(db->page_size, sizeof(char));
	if (!data) {
		return RL_OUT_OF_MEMORY;
	}
	*number = db->next_empty_page;
	int retval;
	RL_CALL(rl_write, RL_OK, db, &rl_data_type_string, db->next_empty_page, data);
	*_data = data;
	retval = RL_OK;
cleanup:
	return retval;
}

int rl_string_get(rlite *db, unsigned char **_data, long number)
{
	void *data;
	int retval;
	RL_CALL(rl_read, RL_FOUND, db, &rl_data_type_string, number, NULL, &data, 1);
	*_data = data;
	retval = RL_OK;
cleanup:
	return retval;
}

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hirlite-0.0.2.2 vendor/rlite/src/page_string.c
hirlite-0.0.2.1 vendor/rlite/src/page_string.c
hirlite-0.0.2 vendor/rlite/src/page_string.c
hirlite-0.0.1.3 vendor/rlite/src/page_string.c
hirlite-0.0.1.2 vendor/rlite/src/page_string.c
hirlite-0.0.1.1 vendor/rlite/src/page_string.c
hirlite-0.0.1 vendor/rlite/src/page_string.c