mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Merge pull request #1828 from profanity-im/newclang
Use GH action for code style check
This commit is contained in:
commit
6eacfcb96e
@ -9,3 +9,4 @@ f21595597f4fa872b77d7f76ae04916f4aae732e
|
||||
0d8b62c9a29d539889939150ed4da4f33407fa0e
|
||||
9b55f2dec0ea27a9ce4856e303425e12f866cea2
|
||||
a04031cec9e20f4a805a174d44bf8b682a69d7a7
|
||||
d17bcf619c45bfbbf4d0e0bcf218fe6550c185f5
|
||||
|
23
.github/workflows/main.yml
vendored
23
.github/workflows/main.yml
vendored
@ -36,24 +36,13 @@ jobs:
|
||||
run: ./ci-build.sh
|
||||
|
||||
code-style:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
name: Check coding style
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y --no-install-recommends autoconf autoconf-archive automake expect gcc git libcmocka-dev libcurl3-dev libgcrypt-dev libglib2.0-dev libgpgme11-dev libgtk2.0-dev libmicrohttpd-dev libncursesw5-dev libnotify-dev libotr5-dev libreadline-dev libsignal-protocol-c-dev libssl-dev libtool libxss-dev make pkg-config python3-dev python-dev-is-python3 libsqlite3-dev
|
||||
- name: Install libstrophe
|
||||
run: |
|
||||
git clone https://github.com/strophe/libstrophe ../libstrophe
|
||||
cd ../libstrophe && ./bootstrap.sh && ./configure && make -j$(nproc) && sudo make install
|
||||
- name: Configure
|
||||
run: |
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
- name: Check style
|
||||
run: |
|
||||
make format
|
||||
git diff --exit-code
|
||||
- name: Run clang-format
|
||||
uses: jidicula/clang-format-action@v4.11.0
|
||||
with:
|
||||
clang-format-version: '16'
|
||||
check-path: 'src'
|
||||
|
@ -59,7 +59,7 @@ static struct color_pair_cache
|
||||
struct
|
||||
{
|
||||
int16_t fg, bg;
|
||||
} * pairs;
|
||||
}* pairs;
|
||||
int size;
|
||||
int capacity;
|
||||
} cache = { 0 };
|
||||
|
@ -455,7 +455,7 @@ void
|
||||
c_command_callback(PluginCommand* command, gchar** args)
|
||||
{
|
||||
CommandWrapper* wrapper = command->callback;
|
||||
void (*f)(gchar * *args) = wrapper->func;
|
||||
void (*f)(gchar** args) = wrapper->func;
|
||||
f(args);
|
||||
}
|
||||
|
||||
|
@ -41,80 +41,83 @@
|
||||
#include "plugins/callbacks.h"
|
||||
|
||||
void (*prof_cons_alert)(void) = NULL;
|
||||
int (*prof_cons_show)(const char * const message) = NULL;
|
||||
int (*prof_cons_show_themed)(const char *const group, const char *const item, const char *const def, const char *const message) = NULL;
|
||||
int (*prof_cons_bad_cmd_usage)(const char *const cmd) = NULL;
|
||||
int (*prof_cons_show)(const char* const message) = NULL;
|
||||
int (*prof_cons_show_themed)(const char* const group, const char* const item, const char* const def, const char* const message) = NULL;
|
||||
int (*prof_cons_bad_cmd_usage)(const char* const cmd) = NULL;
|
||||
|
||||
void (*_prof_register_command)(const char *filename, const char *command_name, int min_args, int max_args,
|
||||
char **synopsis, const char *description, char *arguments[][2], char **examples,
|
||||
CMD_CB callback) = NULL;
|
||||
void (*_prof_register_command)(const char* filename, const char* command_name, int min_args, int max_args,
|
||||
char** synopsis, const char* description, char* arguments[][2], char** examples,
|
||||
CMD_CB callback)
|
||||
= NULL;
|
||||
|
||||
void (*_prof_register_timed)(const char *filename, TIMED_CB callback, int interval_seconds) = NULL;
|
||||
void (*_prof_register_timed)(const char* filename, TIMED_CB callback, int interval_seconds) = NULL;
|
||||
|
||||
void (*_prof_completer_add)(const char *filename, const char *key, char **items) = NULL;
|
||||
void (*_prof_completer_remove)(const char *filename, const char *key, char **items) = NULL;
|
||||
void (*_prof_completer_clear)(const char *filename, const char *key) = NULL;
|
||||
void (*_prof_filepath_completer_add)(const char *filename, const char *prefix) = NULL;
|
||||
void (*_prof_completer_add)(const char* filename, const char* key, char** items) = NULL;
|
||||
void (*_prof_completer_remove)(const char* filename, const char* key, char** items) = NULL;
|
||||
void (*_prof_completer_clear)(const char* filename, const char* key) = NULL;
|
||||
void (*_prof_filepath_completer_add)(const char* filename, const char* prefix) = NULL;
|
||||
|
||||
void (*prof_notify)(const char *message, int timeout_ms, const char *category) = NULL;
|
||||
void (*prof_notify)(const char* message, int timeout_ms, const char* category) = NULL;
|
||||
|
||||
void (*prof_send_line)(char *line) = NULL;
|
||||
void (*prof_send_line)(char* line) = NULL;
|
||||
|
||||
char* (*prof_get_current_recipient)(void) = NULL;
|
||||
char* (*prof_get_current_muc)(void) = NULL;
|
||||
int (*prof_current_win_is_console)(void) = NULL;
|
||||
char* (*prof_get_current_nick)(void) = NULL;
|
||||
char* (*prof_get_name_from_roster)(const char *barejid) = NULL;
|
||||
char* (*prof_get_barejid_from_roster)(const char *name) = NULL;
|
||||
char* (*prof_get_name_from_roster)(const char* barejid) = NULL;
|
||||
char* (*prof_get_barejid_from_roster)(const char* name) = NULL;
|
||||
char** (*prof_get_current_occupants)(void) = NULL;
|
||||
|
||||
char* (*prof_get_room_nick)(const char *barejid) = NULL;
|
||||
char* (*prof_get_room_nick)(const char* barejid) = NULL;
|
||||
|
||||
void (*prof_log_debug)(const char *message) = NULL;
|
||||
void (*prof_log_info)(const char *message) = NULL;
|
||||
void (*prof_log_warning)(const char *message) = NULL;
|
||||
void (*prof_log_error)(const char *message) = NULL;
|
||||
void (*prof_log_debug)(const char* message) = NULL;
|
||||
void (*prof_log_info)(const char* message) = NULL;
|
||||
void (*prof_log_warning)(const char* message) = NULL;
|
||||
void (*prof_log_error)(const char* message) = NULL;
|
||||
|
||||
void (*_prof_win_create)(const char *filename, PROF_WIN_TAG win, WINDOW_CB input_handler) = NULL;
|
||||
void (*_prof_win_create)(const char* filename, PROF_WIN_TAG win, WINDOW_CB input_handler) = NULL;
|
||||
int (*prof_win_exists)(PROF_WIN_TAG win) = NULL;
|
||||
int (*prof_win_focus)(PROF_WIN_TAG win) = NULL;
|
||||
int (*prof_win_show)(PROF_WIN_TAG win, char *line) = NULL;
|
||||
int (*prof_win_show_themed)(PROF_WIN_TAG tag, char *group, char *key, char *def, char *line) = NULL;
|
||||
int (*prof_win_show)(PROF_WIN_TAG win, char* line) = NULL;
|
||||
int (*prof_win_show_themed)(PROF_WIN_TAG tag, char* group, char* key, char* def, char* line) = NULL;
|
||||
|
||||
int (*prof_send_stanza)(char *stanza) = NULL;
|
||||
int (*prof_send_stanza)(char* stanza) = NULL;
|
||||
|
||||
int (*prof_settings_boolean_get)(char *group, char *key, int def) = NULL;
|
||||
void (*prof_settings_boolean_set)(char *group, char *key, int value) = NULL;
|
||||
char* (*prof_settings_string_get)(char *group, char *key, char *def) = NULL;
|
||||
void (*prof_settings_string_set)(char *group, char *key, char *value) = NULL;
|
||||
int (*prof_settings_int_get)(char *group, char *key, int def) = NULL;
|
||||
void (*prof_settings_int_set)(char *group, char *key, int value) = NULL;
|
||||
char** (*prof_settings_string_list_get)(char *group, char *key) = NULL;
|
||||
void (*prof_settings_string_list_add)(char *group, char *key, char *value) = NULL;
|
||||
int (*prof_settings_string_list_remove)(char *group, char *key, char *value) = NULL;
|
||||
int (*prof_settings_string_list_clear)(char *group, char *key) = NULL;
|
||||
int (*prof_settings_boolean_get)(char* group, char* key, int def) = NULL;
|
||||
void (*prof_settings_boolean_set)(char* group, char* key, int value) = NULL;
|
||||
char* (*prof_settings_string_get)(char* group, char* key, char* def) = NULL;
|
||||
void (*prof_settings_string_set)(char* group, char* key, char* value) = NULL;
|
||||
int (*prof_settings_int_get)(char* group, char* key, int def) = NULL;
|
||||
void (*prof_settings_int_set)(char* group, char* key, int value) = NULL;
|
||||
char** (*prof_settings_string_list_get)(char* group, char* key) = NULL;
|
||||
void (*prof_settings_string_list_add)(char* group, char* key, char* value) = NULL;
|
||||
int (*prof_settings_string_list_remove)(char* group, char* key, char* value) = NULL;
|
||||
int (*prof_settings_string_list_clear)(char* group, char* key) = NULL;
|
||||
|
||||
void (*prof_incoming_message)(char *barejid, char *resource, char *message) = NULL;
|
||||
void (*prof_incoming_message)(char* barejid, char* resource, char* message) = NULL;
|
||||
|
||||
void (*_prof_disco_add_feature)(const char *filename, char *feature) = NULL;
|
||||
void (*_prof_disco_add_feature)(const char* filename, char* feature) = NULL;
|
||||
|
||||
void (*prof_encryption_reset)(const char *barejid) = NULL;
|
||||
void (*prof_encryption_reset)(const char* barejid) = NULL;
|
||||
|
||||
int (*prof_chat_set_titlebar_enctext)(const char *barejid, const char *enctext) = NULL;
|
||||
int (*prof_chat_unset_titlebar_enctext)(const char *barejid) = NULL;
|
||||
int (*prof_chat_set_incoming_char)(const char *barejid, const char *ch) = NULL;
|
||||
int (*prof_chat_unset_incoming_char)(const char *barejid) = NULL;
|
||||
int (*prof_chat_set_outgoing_char)(const char *barejid, const char *ch) = NULL;
|
||||
int (*prof_chat_unset_outgoing_char)(const char *barejid) = NULL;
|
||||
int (*prof_room_set_titlebar_enctext)(const char *roomjid, const char *enctext) = NULL;
|
||||
int (*prof_room_unset_titlebar_enctext)(const char *roomjid) = NULL;
|
||||
int (*prof_room_set_message_char)(const char *roomjid, const char *ch) = NULL;
|
||||
int (*prof_room_unset_message_char)(const char *roomjid) = NULL;
|
||||
int (*prof_chat_set_titlebar_enctext)(const char* barejid, const char* enctext) = NULL;
|
||||
int (*prof_chat_unset_titlebar_enctext)(const char* barejid) = NULL;
|
||||
int (*prof_chat_set_incoming_char)(const char* barejid, const char* ch) = NULL;
|
||||
int (*prof_chat_unset_incoming_char)(const char* barejid) = NULL;
|
||||
int (*prof_chat_set_outgoing_char)(const char* barejid, const char* ch) = NULL;
|
||||
int (*prof_chat_unset_outgoing_char)(const char* barejid) = NULL;
|
||||
int (*prof_room_set_titlebar_enctext)(const char* roomjid, const char* enctext) = NULL;
|
||||
int (*prof_room_unset_titlebar_enctext)(const char* roomjid) = NULL;
|
||||
int (*prof_room_set_message_char)(const char* roomjid, const char* ch) = NULL;
|
||||
int (*prof_room_unset_message_char)(const char* roomjid) = NULL;
|
||||
|
||||
int (*prof_chat_show)(const char *const barejid, const char *const message) = NULL;
|
||||
int (*prof_chat_show_themed)(const char *const barejid, const char *const group, const char *const item, const char *const def,
|
||||
const char *const ch, const char *const message) = NULL;
|
||||
int (*prof_chat_show)(const char* const barejid, const char* const message) = NULL;
|
||||
int (*prof_chat_show_themed)(const char* const barejid, const char* const group, const char* const item, const char* const def,
|
||||
const char* const ch, const char* const message)
|
||||
= NULL;
|
||||
|
||||
int (*prof_room_show)(const char *const roomjid, const char *const message) = NULL;
|
||||
int (*prof_room_show_themed)(const char *const roomjid, const char *const group, const char *const item, const char *const def,
|
||||
const char *const ch, const char *const message) = NULL;
|
||||
int (*prof_room_show)(const char* const roomjid, const char* const message) = NULL;
|
||||
int (*prof_room_show_themed)(const char* const roomjid, const char* const group, const char* const item, const char* const def,
|
||||
const char* const ch, const char* const message)
|
||||
= NULL;
|
||||
|
@ -37,96 +37,96 @@
|
||||
#define PLUGINS_PROF_API_H
|
||||
|
||||
#define prof_register_command(command_name, min_args, max_args, synopsis, description, arguments, examples, callback) _prof_register_command(__FILE__, command_name, min_args, max_args, synopsis, description, arguments, examples, callback)
|
||||
#define prof_register_timed(callback, interval_seconds) _prof_register_timed(__FILE__, callback, interval_seconds)
|
||||
#define prof_completer_add(key, items) _prof_completer_add(__FILE__, key, items)
|
||||
#define prof_completer_remove(key, items) _prof_completer_remove(__FILE__, key, items)
|
||||
#define prof_completer_clear(key) _prof_completer_clear(__FILE__, key)
|
||||
#define prof_filepath_completer_add(prefix) _prof_filepath_completer_add(__FILE__, prefix)
|
||||
#define prof_win_create(win, input_handler) _prof_win_create(__FILE__, win, input_handler)
|
||||
#define prof_disco_add_feature(feature) _prof_disco_add_feature(__FILE__, feature)
|
||||
#define prof_register_timed(callback, interval_seconds) _prof_register_timed(__FILE__, callback, interval_seconds)
|
||||
#define prof_completer_add(key, items) _prof_completer_add(__FILE__, key, items)
|
||||
#define prof_completer_remove(key, items) _prof_completer_remove(__FILE__, key, items)
|
||||
#define prof_completer_clear(key) _prof_completer_clear(__FILE__, key)
|
||||
#define prof_filepath_completer_add(prefix) _prof_filepath_completer_add(__FILE__, prefix)
|
||||
#define prof_win_create(win, input_handler) _prof_win_create(__FILE__, win, input_handler)
|
||||
#define prof_disco_add_feature(feature) _prof_disco_add_feature(__FILE__, feature)
|
||||
|
||||
typedef char* PROF_WIN_TAG;
|
||||
typedef void(*CMD_CB)(char **args);
|
||||
typedef void(*TIMED_CB)(void);
|
||||
typedef void(*WINDOW_CB)(PROF_WIN_TAG win, char *line);
|
||||
typedef void (*CMD_CB)(char** args);
|
||||
typedef void (*TIMED_CB)(void);
|
||||
typedef void (*WINDOW_CB)(PROF_WIN_TAG win, char* line);
|
||||
|
||||
void (*prof_cons_alert)(void);
|
||||
int (*prof_cons_show)(const char * const message);
|
||||
int (*prof_cons_show_themed)(const char *const group, const char *const item, const char *const def, const char *const message);
|
||||
int (*prof_cons_bad_cmd_usage)(const char *const cmd);
|
||||
int (*prof_cons_show)(const char* const message);
|
||||
int (*prof_cons_show_themed)(const char* const group, const char* const item, const char* const def, const char* const message);
|
||||
int (*prof_cons_bad_cmd_usage)(const char* const cmd);
|
||||
|
||||
void (*_prof_register_command)(const char *filename, const char *command_name, int min_args, int max_args,
|
||||
char **synopsis, const char *description, char *arguments[][2], char **examples,
|
||||
CMD_CB callback);
|
||||
void (*_prof_register_command)(const char* filename, const char* command_name, int min_args, int max_args,
|
||||
char** synopsis, const char* description, char* arguments[][2], char** examples,
|
||||
CMD_CB callback);
|
||||
|
||||
void (*_prof_register_timed)(const char *filename, TIMED_CB callback, int interval_seconds);
|
||||
void (*_prof_register_timed)(const char* filename, TIMED_CB callback, int interval_seconds);
|
||||
|
||||
void (*_prof_completer_add)(const char *filename, const char *key, char **items);
|
||||
void (*_prof_completer_remove)(const char *filename, const char *key, char **items);
|
||||
void (*_prof_completer_clear)(const char *filename, const char *key);
|
||||
void (*_prof_filepath_completer_add)(const char *filename, const char *prefix);
|
||||
void (*_prof_completer_add)(const char* filename, const char* key, char** items);
|
||||
void (*_prof_completer_remove)(const char* filename, const char* key, char** items);
|
||||
void (*_prof_completer_clear)(const char* filename, const char* key);
|
||||
void (*_prof_filepath_completer_add)(const char* filename, const char* prefix);
|
||||
|
||||
void (*prof_notify)(const char *message, int timeout_ms, const char *category);
|
||||
void (*prof_notify)(const char* message, int timeout_ms, const char* category);
|
||||
|
||||
void (*prof_send_line)(char *line);
|
||||
void (*prof_send_line)(char* line);
|
||||
|
||||
char* (*prof_get_current_recipient)(void);
|
||||
char* (*prof_get_current_muc)(void);
|
||||
int (*prof_current_win_is_console)(void);
|
||||
char* (*prof_get_current_nick)(void);
|
||||
char* (*prof_get_name_from_roster)(const char *barejid);
|
||||
char* (*prof_get_barejid_from_roster)(const char *name);
|
||||
char* (*prof_get_name_from_roster)(const char* barejid);
|
||||
char* (*prof_get_barejid_from_roster)(const char* name);
|
||||
char** (*prof_get_current_occupants)(void);
|
||||
|
||||
char* (*prof_get_room_nick)(const char *barejid);
|
||||
char* (*prof_get_room_nick)(const char* barejid);
|
||||
|
||||
void (*prof_log_debug)(const char *message);
|
||||
void (*prof_log_info)(const char *message);
|
||||
void (*prof_log_warning)(const char *message);
|
||||
void (*prof_log_error)(const char *message);
|
||||
void (*prof_log_debug)(const char* message);
|
||||
void (*prof_log_info)(const char* message);
|
||||
void (*prof_log_warning)(const char* message);
|
||||
void (*prof_log_error)(const char* message);
|
||||
|
||||
void (*_prof_win_create)(const char *filename, PROF_WIN_TAG win, WINDOW_CB input_handler);
|
||||
void (*_prof_win_create)(const char* filename, PROF_WIN_TAG win, WINDOW_CB input_handler);
|
||||
int (*prof_win_exists)(PROF_WIN_TAG win);
|
||||
int (*prof_win_focus)(PROF_WIN_TAG win);
|
||||
int (*prof_win_show)(PROF_WIN_TAG win, char *line);
|
||||
int (*prof_win_show_themed)(PROF_WIN_TAG tag, char *group, char *key, char *def, char *line);
|
||||
int (*prof_win_show)(PROF_WIN_TAG win, char* line);
|
||||
int (*prof_win_show_themed)(PROF_WIN_TAG tag, char* group, char* key, char* def, char* line);
|
||||
|
||||
int (*prof_send_stanza)(char *stanza);
|
||||
int (*prof_send_stanza)(char* stanza);
|
||||
|
||||
int (*prof_settings_boolean_get)(char *group, char *key, int def);
|
||||
void (*prof_settings_boolean_set)(char *group, char *key, int value);
|
||||
char* (*prof_settings_string_get)(char *group, char *key, char *def);
|
||||
void (*prof_settings_string_set)(char *group, char *key, char *value);
|
||||
int (*prof_settings_int_get)(char *group, char *key, int def);
|
||||
void (*prof_settings_int_set)(char *group, char *key, int value);
|
||||
char** (*prof_settings_string_list_get)(char *group, char *key);
|
||||
void (*prof_settings_string_list_add)(char *group, char *key, char *value);
|
||||
int (*prof_settings_string_list_remove)(char *group, char *key, char *value);
|
||||
int (*prof_settings_string_list_clear)(char *group, char *key);
|
||||
int (*prof_settings_boolean_get)(char* group, char* key, int def);
|
||||
void (*prof_settings_boolean_set)(char* group, char* key, int value);
|
||||
char* (*prof_settings_string_get)(char* group, char* key, char* def);
|
||||
void (*prof_settings_string_set)(char* group, char* key, char* value);
|
||||
int (*prof_settings_int_get)(char* group, char* key, int def);
|
||||
void (*prof_settings_int_set)(char* group, char* key, int value);
|
||||
char** (*prof_settings_string_list_get)(char* group, char* key);
|
||||
void (*prof_settings_string_list_add)(char* group, char* key, char* value);
|
||||
int (*prof_settings_string_list_remove)(char* group, char* key, char* value);
|
||||
int (*prof_settings_string_list_clear)(char* group, char* key);
|
||||
|
||||
void (*prof_incoming_message)(char *barejid, char *resource, char *message);
|
||||
void (*prof_incoming_message)(char* barejid, char* resource, char* message);
|
||||
|
||||
void (*_prof_disco_add_feature)(const char *filename, char *feature);
|
||||
void (*_prof_disco_add_feature)(const char* filename, char* feature);
|
||||
|
||||
void (*prof_encryption_reset)(const char *barejid);
|
||||
void (*prof_encryption_reset)(const char* barejid);
|
||||
|
||||
int (*prof_chat_set_titlebar_enctext)(const char *barejid, const char *enctext);
|
||||
int (*prof_chat_unset_titlebar_enctext)(const char *barejid);
|
||||
int (*prof_chat_set_incoming_char)(const char *barejid, const char *ch);
|
||||
int (*prof_chat_unset_incoming_char)(const char *barejid);
|
||||
int (*prof_chat_set_outgoing_char)(const char *barejid, const char *ch);
|
||||
int (*prof_chat_unset_outgoing_char)(const char *barejid);
|
||||
int (*prof_room_set_titlebar_enctext)(const char *roomjid, const char *enctext);
|
||||
int (*prof_room_unset_titlebar_enctext)(const char *roomjid);
|
||||
int (*prof_room_set_message_char)(const char *roomjid, const char *ch);
|
||||
int (*prof_room_unset_message_char)(const char *roomjid);
|
||||
int (*prof_chat_set_titlebar_enctext)(const char* barejid, const char* enctext);
|
||||
int (*prof_chat_unset_titlebar_enctext)(const char* barejid);
|
||||
int (*prof_chat_set_incoming_char)(const char* barejid, const char* ch);
|
||||
int (*prof_chat_unset_incoming_char)(const char* barejid);
|
||||
int (*prof_chat_set_outgoing_char)(const char* barejid, const char* ch);
|
||||
int (*prof_chat_unset_outgoing_char)(const char* barejid);
|
||||
int (*prof_room_set_titlebar_enctext)(const char* roomjid, const char* enctext);
|
||||
int (*prof_room_unset_titlebar_enctext)(const char* roomjid);
|
||||
int (*prof_room_set_message_char)(const char* roomjid, const char* ch);
|
||||
int (*prof_room_unset_message_char)(const char* roomjid);
|
||||
|
||||
int (*prof_chat_show)(const char *const barejid, const char *const message);
|
||||
int (*prof_chat_show_themed)(const char *const barejid, const char *const group, const char *const item, const char *const def,
|
||||
const char *const ch, const char *const message);
|
||||
int (*prof_chat_show)(const char* const barejid, const char* const message);
|
||||
int (*prof_chat_show_themed)(const char* const barejid, const char* const group, const char* const item, const char* const def,
|
||||
const char* const ch, const char* const message);
|
||||
|
||||
int (*prof_room_show)(const char *const roomjid, const char *const message);
|
||||
int (*prof_room_show_themed)(const char *const roomjid, const char *const group, const char *const item, const char *const def,
|
||||
const char *const ch, const char *const message);
|
||||
int (*prof_room_show)(const char* const roomjid, const char* const message);
|
||||
int (*prof_room_show_themed)(const char* const roomjid, const char* const group, const char* const item, const char* const def,
|
||||
const char* const ch, const char* const message);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user