чување 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:
измењених датотека: 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. */
/*