embox

Форк
0
/
index_init.c 
32 строки · 674.0 Байт
1
/**
2
 * @file
3
 * @brief
4
 *
5
 * @date 09.10.12
6
 * @author Anton Bondarev
7
 * @author Ilia Vaprol
8
 */
9

10
#include <assert.h>
11
#include <limits.h>
12
#include <stddef.h>
13
#include <string.h>
14

15
#include <util/binalign.h>
16

17
#include "index_priv.h"
18

19
void index_init(struct indexator *ind, size_t start, size_t capacity,
20
    void *data) {
21
	assert(ind);
22
	assert(data);
23
	assert(capacity);
24
	assert(start + capacity != INDEX_NONE);
25

26
	ind->last = INDEX_NONE;
27
	ind->min = ind->next = ind->start = ind->clamp_min = start;
28
	ind->max = ind->prev = ind->end = ind->clamp_max = start + capacity - 1;
29

30
	ind->mask = (unsigned long *)data;
31
	memset(data, 0, binalign_bound(capacity, CHAR_BIT) / CHAR_BIT);
32
}
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.