poe

Уређивач .po фајлова
git clone https://git.sr.ht/~strahinja/poe
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување a65e02cbe4e842ead0449085941b93cde0d2abee
родитељ b74287c22562a475c270447ad21ef232b43e6de0
Аутор: Страхиња Радић <sr@strahinja.org>
Датум:   Thu,  5 Feb 2026 21:09:05 +0100

termbox.h: Correct copyright year; poe.c: Use deallocate parameter to tb_shutdown

Diffstat:
Mpoe.c | 13++++++++++---
Mtermbox.h | 2+-
измењених датотека: 2, додавања: 11(+), брисања: 4(-)

diff --git a/poe.c b/poe.c @@ -2146,6 +2146,7 @@ main(int argc, char** argv) int result; int dir_access; int dir_access_errno; + int saved_errno = 0; char* dir = NULL; *error = 0; @@ -2341,7 +2342,7 @@ main(int argc, char** argv) case LOAD_ERR_CANT_ALLOC: case LOAD_ERR_P_ALLOC: (void)print_error(result, "Allocation failed (out of memory?)"); - goto general_error; + goto general_error; // TODO: Avoid free() case LOAD_ERR_CANT_OPEN_FILE: (void)print_error(result, "Cannot open file `%s'", filename); goto general_error; @@ -2400,7 +2401,11 @@ init_termbox: state.maxy = tb_height(); if (!draw(&state)) + { STRLCPY(errors[ERR_CANT_ALLOC], state.error, MAXBUFLINE); + saved_errno = ENOMEM; + goto main_done; + } tb_present(); result = tb_poll_event(&ev); if (result == TB_OK && ev.type == TB_EVENT_RESIZE) @@ -2408,10 +2413,12 @@ init_termbox: else if (result == TB_OK && ev.type == TB_EVENT_KEY) handle_key_event(&ev, &state); } - tb_shutdown(); + +main_done: + tb_shutdown(saved_errno != ENOMEM); if (state.error && *state.error) return print_error(1, state.error); - free_drawstate(&state); + /*free_drawstate(&state);*/ return 0; } diff --git a/termbox.h b/termbox.h @@ -1,5 +1,5 @@ /* This program is licensed under the terms of GNU GPL v3 or (at your option) - * any later version. Copyright (C) 2022-2026 Страхиња Радић. + * any later version. Copyright (C) 2021-2026 Страхиња Радић. * See the file LICENSE for exact copyright and license details. */ /*