mirror of
https://github.com/weechat/weechat.git
synced 2026-06-27 05:16:38 +02:00
core: add function gui_buffer_search_by_id (issue #2081)
This commit is contained in:
@@ -2860,6 +2860,26 @@ gui_buffer_search_main ()
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Searches for a buffer by id (unique identifier).
|
||||
*/
|
||||
|
||||
struct t_gui_buffer *
|
||||
gui_buffer_search_by_id (long long id)
|
||||
{
|
||||
struct t_gui_buffer *ptr_buffer;
|
||||
|
||||
for (ptr_buffer = gui_buffers; ptr_buffer;
|
||||
ptr_buffer = ptr_buffer->next_buffer)
|
||||
{
|
||||
if (ptr_buffer->id == id)
|
||||
return ptr_buffer;
|
||||
}
|
||||
|
||||
/* buffer not found */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Searches for a buffer by full name (example: "irc.libera.#weechat").
|
||||
*
|
||||
|
||||
@@ -391,6 +391,7 @@ extern void gui_buffer_add_value_num_displayed (struct t_gui_buffer *buffer,
|
||||
int value);
|
||||
extern int gui_buffer_is_main (const char *plugin_name, const char *name);
|
||||
extern struct t_gui_buffer *gui_buffer_search_main ();
|
||||
extern struct t_gui_buffer *gui_buffer_search_by_id (long long id);
|
||||
extern struct t_gui_buffer *gui_buffer_search_by_full_name (const char *full_name);
|
||||
extern struct t_gui_buffer *gui_buffer_search (const char *plugin, const char *name);
|
||||
extern struct t_gui_buffer *gui_buffer_search_by_partial_name (const char *plugin,
|
||||
|
||||
@@ -1313,6 +1313,29 @@ TEST(GuiBuffer, SearchMain)
|
||||
gui_buffer_close (buffer);
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* gui_buffer_search_by_id
|
||||
*/
|
||||
|
||||
TEST(GuiBuffer, SearchById)
|
||||
{
|
||||
struct t_gui_buffer *buffer;
|
||||
|
||||
buffer = gui_buffer_new (NULL, TEST_BUFFER_NAME,
|
||||
NULL, NULL, NULL,
|
||||
NULL, NULL, NULL);
|
||||
CHECK(buffer);
|
||||
|
||||
POINTERS_EQUAL(NULL, gui_buffer_search_by_id (-1));
|
||||
POINTERS_EQUAL(NULL, gui_buffer_search_by_id (0));
|
||||
|
||||
POINTERS_EQUAL(gui_buffers, gui_buffer_search_by_id (gui_buffers->id));
|
||||
POINTERS_EQUAL(buffer, gui_buffer_search_by_id (buffer->id));
|
||||
|
||||
gui_buffer_close (buffer);
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* gui_buffer_search_by_full_name
|
||||
|
||||
Reference in New Issue
Block a user