]> git.lizzy.rs Git - nothing.git/blobdiff - src/ui/edit_field.c
`Lt *` -> `Lt `
[nothing.git] / src / ui / edit_field.c
index b123d448155a9a769db208c5fc858efd89eb6ccb..051163f9398de0e5dda622861af1bf4cc63b7554 100644 (file)
@@ -1,4 +1,4 @@
-#include <assert.h>
+#include "system/stacktrace.h"
 #include <stdbool.h>
 
 #include "edit_field.h"
@@ -11,7 +11,7 @@
 
 struct Edit_field
 {
-    Lt *lt;
+    Lt lt;
     char *buffer;
     size_t buffer_size;
     size_t cursor;
@@ -30,21 +30,21 @@ Edit_field *create_edit_field(const Sprite_font *font,
                                 Vec font_size,
                                 Color font_color)
 {
-    assert(font);
+    trace_assert(font);
 
-    Lt *lt = create_lt();
+    Lt lt = create_lt();
 
     if (lt == NULL) {
         return NULL;
     }
 
-    Edit_field *const edit_field = PUSH_LT(lt, nth_alloc(sizeof(Edit_field)), free);
+    Edit_field *const edit_field = PUSH_LT(lt, nth_calloc(1, sizeof(Edit_field)), free);
     if (edit_field == NULL) {
         RETURN_LT(lt, NULL);
     }
     edit_field->lt = lt;
 
-    edit_field->buffer = PUSH_LT(lt, nth_alloc(sizeof(char) * (BUFFER_CAPACITY + 10)), free);
+    edit_field->buffer = PUSH_LT(lt, nth_calloc(1, sizeof(char) * (BUFFER_CAPACITY + 10)), free);
     if (edit_field->buffer == NULL) {
         RETURN_LT(lt, NULL);
     }
@@ -62,7 +62,7 @@ Edit_field *create_edit_field(const Sprite_font *font,
 
 void destroy_edit_field(Edit_field *edit_field)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
     RETURN_LT0(edit_field->lt);
 }
 
@@ -70,8 +70,8 @@ int edit_field_render(const Edit_field *edit_field,
                       SDL_Renderer *renderer,
                       Point position)
 {
-    assert(edit_field);
-    assert(renderer);
+    trace_assert(edit_field);
+    trace_assert(renderer);
 
     const float cursor_y_overflow = 10.0f;
     const float cursor_width = 2.0f;
@@ -102,8 +102,8 @@ int edit_field_render(const Edit_field *edit_field,
 int edit_field_handle_event(Edit_field *edit_field,
                             const SDL_Event *event)
 {
-    assert(edit_field);
-    assert(event);
+    trace_assert(edit_field);
+    trace_assert(event);
 
     switch (event->type) {
     case SDL_KEYDOWN:
@@ -143,7 +143,7 @@ int edit_field_handle_event(Edit_field *edit_field,
 
 const char *edit_field_as_text(const Edit_field *edit_field)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
     return edit_field->buffer;
 }
 
@@ -156,7 +156,7 @@ static void edit_field_left(Edit_field *edit_field)
 
 static void edit_field_right(Edit_field *edit_field)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
     if (edit_field->cursor < edit_field->buffer_size) {
         edit_field->cursor++;
     }
@@ -164,7 +164,7 @@ static void edit_field_right(Edit_field *edit_field)
 
 static void edit_field_backspace(Edit_field *edit_field)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
 
     if (edit_field->cursor == 0) {
         return;
@@ -180,7 +180,7 @@ static void edit_field_backspace(Edit_field *edit_field)
 
 static void edit_field_delete(Edit_field *edit_field)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
 
     if (edit_field->cursor >= edit_field->buffer_size) {
         return;
@@ -195,7 +195,7 @@ static void edit_field_delete(Edit_field *edit_field)
 
 static void edit_field_insert_char(Edit_field *edit_field, char c)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
 
     if (edit_field->buffer_size >= BUFFER_CAPACITY) {
         return;
@@ -211,7 +211,7 @@ static void edit_field_insert_char(Edit_field *edit_field, char c)
 
 void edit_field_clean(Edit_field *edit_field)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
 
     edit_field->cursor = 0;
     edit_field->buffer_size = 0;
@@ -220,7 +220,7 @@ void edit_field_clean(Edit_field *edit_field)
 
 void edit_field_replace(Edit_field *edit_field, const char *text)
 {
-    assert(edit_field);
+    trace_assert(edit_field);
 
     edit_field_clean(edit_field);