refactor: cleanup

This commit is contained in:
2025-09-16 23:53:50 +02:00
parent 235c032062
commit c9af1429f9
13 changed files with 896 additions and 880 deletions
+41 -41
View File
@@ -1,41 +1,41 @@
#include <stdlib.h>
#include <string.h>
#include "types.h"
tgbot_inlinekeyboard *tgbot_new_inlinekeyboard(size_t rows, size_t columns) {
tgbot_inlinekeyboard *keyboard = (tgbot_inlinekeyboard *)malloc(sizeof(tgbot_inlinekeyboard));
if (!keyboard)
return NULL;
keyboard->rows = rows;
keyboard->columns = columns;
keyboard->buttons = (tgbot_inlinekeyboardbutton *)malloc(rows * columns * sizeof(tgbot_inlinekeyboardbutton));
if (!keyboard->buttons) {
free(keyboard);
return NULL;
}
memset(keyboard->buttons, 0, rows * columns * sizeof(tgbot_inlinekeyboardbutton));
return keyboard;
}
void tgbot_destroy_inlinekeyboard(tgbot_inlinekeyboard *keyboard) {
free(keyboard->buttons);
free(keyboard);
}
tgbot_rc tgbot_inlinekeyboard_button(tgbot_inlinekeyboard *keyboard, size_t row, size_t column, const char *text, const char *url, const char *callback_data) {
tgbot_inlinekeyboardbutton *button = tgbot_inlinekeyboard_button_at(keyboard, row, column);
strncpy(button->text, text, sizeof(button->text) - 1);
strncpy(button->url, url, sizeof(button->url) - 1);
strncpy(button->callback_data, callback_data, sizeof(button->callback_data) - 1);
return TGBOT_OK;
}
tgbot_inlinekeyboardbutton *tgbot_inlinekeyboard_button_at(tgbot_inlinekeyboard *keyboard, size_t row, size_t column) {
return &keyboard->buttons[row * keyboard->columns + column];
}
#include <stdlib.h>
#include <string.h>
#include "types.h"
tgbot_inlinekeyboard_s *tgbot_inlinekb_new(size_t rows, size_t columns) {
tgbot_inlinekeyboard_s *keyboard = (tgbot_inlinekeyboard_s *)malloc(sizeof(tgbot_inlinekeyboard_s));
if (!keyboard)
return NULL;
keyboard->rows = rows;
keyboard->columns = columns;
keyboard->buttons = (tgbot_inlinekeyboardbutton_s *)malloc(rows * columns * sizeof(tgbot_inlinekeyboardbutton_s));
if (!keyboard->buttons) {
free(keyboard);
return NULL;
}
memset(keyboard->buttons, 0, rows * columns * sizeof(tgbot_inlinekeyboardbutton_s));
return keyboard;
}
void tgbot_inlinekb_free(tgbot_inlinekeyboard_s *keyboard) {
free(keyboard->buttons);
free(keyboard);
}
tgbot_inlinekeyboardbutton_s *tgbot_inlinekb_button_at(tgbot_inlinekeyboard_s *keyboard, size_t row, size_t column) {
return &keyboard->buttons[row * keyboard->columns + column];
}
tgbot_rc tgbot_inlinekb_button(tgbot_inlinekeyboard_s *keyboard, size_t row, size_t column, const char *text, const char *url, const char *callback_data) {
tgbot_inlinekeyboardbutton_s *button = tgbot_inlinekb_button_at(keyboard, row, column);
strncpy(button->text, text, sizeof(button->text) - 1);
strncpy(button->url, url, sizeof(button->url) - 1);
strncpy(button->callback_data, callback_data, sizeof(button->callback_data) - 1);
return TGBOT_OK;
}