sled

Једноставни уређивач текста
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување f3f575ae5f9011e647ed3d64272b2f143bd36dd2
родитељ e6c1e5446571ba18d79127fedef22eb36c6d1344
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Mon, 21 Feb 2022 16:20:05 +0100

Add line allocation inside create_file

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mconfig.h | 4++--
Msled.c | 6++++++
измењених датотека: 2, додавања: 8(+), брисања: 2(-)

diff --git a/config.h b/config.h @@ -184,8 +184,8 @@ static const struct Key command_keys[] = { { .ev = { .ch = 'l' }, .callback = move_right }, { .ev = { .ch = 'q' }, .callback = exit_program }, { .ev = { .ch = 'v' }, .callback = toggle_selection }, - { .ev = { .ch = 'W' }, .callback = move_prev_word } - { .ev = { .ch = 'w' }, .callback = move_next_word }, + { .ev = { .ch = 'W' }, .callback = move_prev_word }, + { .ev = { .ch = 'w' }, .callback = move_next_word } }; /* clang-format on */ diff --git a/sled.c b/sled.c @@ -179,12 +179,18 @@ int create_file(struct DrawState* state) { struct BufferLine* newchunk = NULL; + uint32_t* newtext = NULL; newchunk = calloc(ALLOC_DELTA, sizeof(struct BufferLine)); if (!newchunk) return LOAD_ERR_CANT_ALLOC; for (size_t row = 0; row < ALLOC_DELTA; row++) init_bufferline(newchunk + row); + newtext = calloc(MAXBUFLINE, sizeof(uint32_t)); + if (!newtext) + return LOAD_ERR_CANT_ALLOC; + newchunk->length = 0; + newchunk->text = newtext; state->buffer = newchunk; state->buffer_size = ALLOC_DELTA; state->rows_count = 1;