mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Apply coding style
Regards https://github.com/profanity-im/profanity/issues/1396
This commit is contained in:
parent
66f9a6b721
commit
9b55f2dec0
File diff suppressed because it is too large
Load Diff
@ -36,28 +36,28 @@
|
||||
#ifndef COMMAND_CMD_AC_H
|
||||
#define COMMAND_CMD_AC_H
|
||||
|
||||
#include "config/preferences.h"
|
||||
#include "command/cmd_funcs.h"
|
||||
#include "config/preferences.h"
|
||||
|
||||
void cmd_ac_init(void);
|
||||
void cmd_ac_uninit(void);
|
||||
char* cmd_ac_complete(ProfWin *window, const char *const input, gboolean previous);
|
||||
void cmd_ac_reset(ProfWin *window);
|
||||
gboolean cmd_ac_exists(char *cmd);
|
||||
char* cmd_ac_complete(ProfWin* window, const char* const input, gboolean previous);
|
||||
void cmd_ac_reset(ProfWin* window);
|
||||
gboolean cmd_ac_exists(char* cmd);
|
||||
|
||||
void cmd_ac_add(const char *const value);
|
||||
void cmd_ac_add_help(const char *const value);
|
||||
void cmd_ac_add_cmd(Command *command);
|
||||
void cmd_ac_add_alias(ProfAlias *alias);
|
||||
void cmd_ac_add_alias_value(char *value);
|
||||
void cmd_ac_add(const char* const value);
|
||||
void cmd_ac_add_help(const char* const value);
|
||||
void cmd_ac_add_cmd(Command* command);
|
||||
void cmd_ac_add_alias(ProfAlias* alias);
|
||||
void cmd_ac_add_alias_value(char* value);
|
||||
|
||||
void cmd_ac_remove(const char *const value);
|
||||
void cmd_ac_remove_help(const char *const value);
|
||||
void cmd_ac_remove_alias_value(char *value);
|
||||
void cmd_ac_remove(const char* const value);
|
||||
void cmd_ac_remove_help(const char* const value);
|
||||
void cmd_ac_remove_alias_value(char* value);
|
||||
|
||||
void cmd_ac_add_form_fields(DataForm *form);
|
||||
void cmd_ac_remove_form_fields(DataForm *form);
|
||||
void cmd_ac_add_form_fields(DataForm* form);
|
||||
void cmd_ac_remove_form_fields(DataForm* form);
|
||||
|
||||
char* cmd_ac_complete_filepath(const char *const input, char *const startstr, gboolean previous);
|
||||
char* cmd_ac_complete_filepath(const char* const input, char* const startstr, gboolean previous);
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -44,14 +44,14 @@
|
||||
void cmd_init(void);
|
||||
void cmd_uninit(void);
|
||||
|
||||
Command* cmd_get(const char *const command);
|
||||
GList* cmd_get_ordered(const char *const tag);
|
||||
Command* cmd_get(const char* const command);
|
||||
GList* cmd_get_ordered(const char* const tag);
|
||||
|
||||
gboolean cmd_valid_tag(const char *const str);
|
||||
gboolean cmd_valid_tag(const char* const str);
|
||||
|
||||
void command_docgen(void);
|
||||
|
||||
GList* cmd_search_index_all(char *term);
|
||||
GList* cmd_search_index_any(char *term);
|
||||
GList* cmd_search_index_all(char* term);
|
||||
GList* cmd_search_index_any(char* term);
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -40,12 +40,13 @@
|
||||
#include "ui/win_types.h"
|
||||
|
||||
// Command help strings
|
||||
typedef struct cmd_help_t {
|
||||
gchar *tags[20];
|
||||
gchar *synopsis[50];
|
||||
gchar *desc;
|
||||
gchar *args[128][2];
|
||||
gchar *examples[20];
|
||||
typedef struct cmd_help_t
|
||||
{
|
||||
gchar* tags[20];
|
||||
gchar* synopsis[50];
|
||||
gchar* desc;
|
||||
gchar* args[128][2];
|
||||
gchar* examples[20];
|
||||
} CommandHelp;
|
||||
|
||||
/*
|
||||
@ -60,184 +61,184 @@ typedef struct cmd_help_t {
|
||||
* func - Main function to call when no arguments, or sub_funcs not implemented
|
||||
* help - A help struct containing usage info etc
|
||||
*/
|
||||
typedef struct cmd_t {
|
||||
gchar *cmd;
|
||||
gchar** (*parser)(const char *const inp, int min, int max, gboolean *result);
|
||||
typedef struct cmd_t
|
||||
{
|
||||
gchar* cmd;
|
||||
gchar** (*parser)(const char* const inp, int min, int max, gboolean* result);
|
||||
int min_args;
|
||||
int max_args;
|
||||
void (*setting_func)(void);
|
||||
void *sub_funcs[50][2];
|
||||
gboolean (*func)(ProfWin *window, const char *const command, gchar **args);
|
||||
void* sub_funcs[50][2];
|
||||
gboolean (*func)(ProfWin* window, const char* const command, gchar** args);
|
||||
CommandHelp help;
|
||||
} Command;
|
||||
|
||||
gboolean cmd_process_input(ProfWin* window, char* inp);
|
||||
void cmd_execute_connect(ProfWin* window, const char* const account);
|
||||
|
||||
gboolean cmd_process_input(ProfWin *window, char *inp);
|
||||
void cmd_execute_connect(ProfWin *window, const char *const account);
|
||||
|
||||
gboolean cmd_about(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_autoaway(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_autoconnect(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_autoping(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_beep(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_caps(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_logging(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_clear(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_close(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_connect(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_disco(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_sendfile(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_lastactivity(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_disconnect(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_flash(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tray(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_gone(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_group(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_help(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_history(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_carbons(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_receipts(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_info(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_intype(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_invite(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_join(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_leave(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_log(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_msg(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_nick(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_notify(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_pgp(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_about(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_autoaway(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_autoconnect(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_autoping(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_beep(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_caps(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_logging(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_clear(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_close(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_connect(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_disco(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_sendfile(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_lastactivity(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_disconnect(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_flash(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_tray(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_gone(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_group(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_help(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_history(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_carbons(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_receipts(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_info(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_intype(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_invite(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_join(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_leave(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_log(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_msg(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_nick(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_notify(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_pgp(ProfWin* window, const char* const command, gchar** args);
|
||||
#ifdef HAVE_LIBGPGME
|
||||
gboolean cmd_ox(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_ox(ProfWin* window, const char* const command, gchar** args);
|
||||
#endif // HAVE_LIBGPGME
|
||||
gboolean cmd_outtype(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_prefs(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_priority(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_quit(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_reconnect(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_room(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_rooms(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_bookmark(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_bookmark_ignore(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_roster(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_software(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_splash(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_states(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_status_get(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_status_set(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_sub(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_theme(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tiny(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_wintitle(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_vercheck(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_who(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_win(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_alias(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_xmlconsole(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_ping(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_form(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_occupants(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_kick(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_ban(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_subject(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_affiliation(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_role(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_privileges(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_presence(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_wrap(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_time(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_resource(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_inpblock(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_titlebar(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_titlebar_show_hide(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_mainwin(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_statusbar(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_inputwin(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_script(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_export(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_charset(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_console(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_command_list(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_command_exec(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_outtype(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_prefs(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_priority(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_quit(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_reconnect(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_room(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_rooms(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_bookmark(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_bookmark_ignore(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_roster(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_software(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_splash(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_states(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_status_get(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_status_set(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_sub(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_theme(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_tiny(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_wintitle(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_vercheck(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_who(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_win(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_alias(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_xmlconsole(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_ping(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_form(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_occupants(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_kick(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_ban(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_subject(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_affiliation(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_role(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_privileges(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_presence(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_wrap(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_time(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_resource(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_inpblock(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_titlebar(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_titlebar_show_hide(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_mainwin(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_statusbar(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_inputwin(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_script(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_export(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_charset(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_console(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_command_list(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_command_exec(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_plugins(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_sourcepath(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_install(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_update(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_uninstall(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_load(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_unload(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_reload(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins_python_version(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_plugins(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_sourcepath(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_install(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_update(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_uninstall(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_load(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_unload(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_reload(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_plugins_python_version(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_blocked(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_blocked(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_account(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_list(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_show(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_add(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_remove(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_enable(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_disable(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_rename(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_default(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_set(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account_clear(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_account(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_list(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_show(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_add(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_remove(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_enable(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_disable(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_rename(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_default(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_set(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_account_clear(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_tls_certpath(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tls_trust(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tls_trusted(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tls_revoke(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tls_cert(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_tls_certpath(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_tls_trust(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_tls_trusted(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_tls_revoke(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_tls_cert(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_otr_char(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_log(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_libver(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_policy(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_gen(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_myfp(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_theirfp(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_start(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_end(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_trust(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_untrust(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_secret(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_question(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_answer(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_sendfile(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_otr_char(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_log(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_libver(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_policy(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_gen(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_myfp(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_theirfp(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_start(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_end(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_trust(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_untrust(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_secret(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_question(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_answer(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_otr_sendfile(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_wins(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_wins_unread(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_wins_prune(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_wins_swap(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_wins(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_wins_unread(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_wins_prune(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_wins_swap(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_form_field(ProfWin *window, char *tag, gchar **args);
|
||||
gboolean cmd_form_field(ProfWin* window, char* tag, gchar** args);
|
||||
|
||||
gboolean cmd_omemo_gen(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_char(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_log(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_start(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_end(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_fingerprint(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_trust(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_untrust(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_policy(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_clear_device_list(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_sendfile(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_omemo_gen(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_char(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_log(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_start(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_end(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_fingerprint(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_trust(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_untrust(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_policy(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_clear_device_list(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_omemo_sendfile(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_save(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_reload(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_save(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_reload(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
gboolean cmd_paste(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_color(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_avatar(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_os(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_correction(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_correct(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_slashguard(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_serversoftware(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_url_open(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_url_save(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_executable(ProfWin *window, const char *const command, gchar **args);
|
||||
gboolean cmd_paste(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_color(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_avatar(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_os(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_correction(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_correct(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_slashguard(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_serversoftware(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_url_open(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_url_save(ProfWin* window, const char* const command, gchar** args);
|
||||
gboolean cmd_executable(ProfWin* window, const char* const command, gchar** args);
|
||||
|
||||
#endif
|
||||
|
190
src/common.c
190
src/common.c
@ -35,20 +35,20 @@
|
||||
*/
|
||||
#include "config.h"
|
||||
|
||||
#include <errno.h>
|
||||
#include <sys/select.h>
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/select.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <curl/curl.h>
|
||||
#include <curl/easy.h>
|
||||
#include <glib.h>
|
||||
#include <gio/gio.h>
|
||||
#include <glib.h>
|
||||
|
||||
#ifdef HAVE_NCURSESW_NCURSES_H
|
||||
#include <ncursesw/ncurses.h>
|
||||
@ -56,19 +56,19 @@
|
||||
#include <ncurses.h>
|
||||
#endif
|
||||
|
||||
#include "log.h"
|
||||
#include "common.h"
|
||||
#include "log.h"
|
||||
|
||||
struct curl_data_t
|
||||
{
|
||||
char *buffer;
|
||||
char* buffer;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
static size_t _data_callback(void *ptr, size_t size, size_t nmemb, void *data);
|
||||
static size_t _data_callback(void* ptr, size_t size, size_t nmemb, void* data);
|
||||
|
||||
gboolean
|
||||
create_dir(char *name)
|
||||
create_dir(char* name)
|
||||
{
|
||||
struct stat sb;
|
||||
|
||||
@ -87,14 +87,14 @@ create_dir(char *name)
|
||||
}
|
||||
|
||||
gboolean
|
||||
mkdir_recursive(const char *dir)
|
||||
mkdir_recursive(const char* dir)
|
||||
{
|
||||
int i;
|
||||
gboolean result = TRUE;
|
||||
|
||||
for (i = 1; i <= strlen(dir); i++) {
|
||||
if (dir[i] == '/' || dir[i] == '\0') {
|
||||
gchar *next_dir = g_strndup(dir, i);
|
||||
gchar* next_dir = g_strndup(dir, i);
|
||||
result = create_dir(next_dir);
|
||||
g_free(next_dir);
|
||||
if (!result) {
|
||||
@ -107,13 +107,13 @@ mkdir_recursive(const char *dir)
|
||||
}
|
||||
|
||||
gboolean
|
||||
copy_file(const char *const sourcepath, const char *const targetpath, const gboolean overwrite_existing)
|
||||
copy_file(const char* const sourcepath, const char* const targetpath, const gboolean overwrite_existing)
|
||||
{
|
||||
GFile *source = g_file_new_for_path(sourcepath);
|
||||
GFile *dest = g_file_new_for_path(targetpath);
|
||||
GError *error = NULL;
|
||||
GFile* source = g_file_new_for_path(sourcepath);
|
||||
GFile* dest = g_file_new_for_path(targetpath);
|
||||
GError* error = NULL;
|
||||
GFileCopyFlags flags = overwrite_existing ? G_FILE_COPY_OVERWRITE : G_FILE_COPY_NONE;
|
||||
gboolean success = g_file_copy (source, dest, flags, NULL, NULL, NULL, &error);
|
||||
gboolean success = g_file_copy(source, dest, flags, NULL, NULL, NULL, &error);
|
||||
if (error != NULL)
|
||||
g_error_free(error);
|
||||
g_object_unref(source);
|
||||
@ -122,44 +122,40 @@ copy_file(const char *const sourcepath, const char *const targetpath, const gboo
|
||||
}
|
||||
|
||||
char*
|
||||
str_replace(const char *string, const char *substr,
|
||||
const char *replacement)
|
||||
str_replace(const char* string, const char* substr, const char* replacement)
|
||||
{
|
||||
char *tok = NULL;
|
||||
char *newstr = NULL;
|
||||
char *head = NULL;
|
||||
char* tok = NULL;
|
||||
char* newstr = NULL;
|
||||
char* head = NULL;
|
||||
|
||||
if (string == NULL)
|
||||
return NULL;
|
||||
|
||||
if ( substr == NULL ||
|
||||
replacement == NULL ||
|
||||
(strcmp(substr, "") == 0))
|
||||
return strdup (string);
|
||||
if (substr == NULL || replacement == NULL || (strcmp(substr, "") == 0))
|
||||
return strdup(string);
|
||||
|
||||
newstr = strdup (string);
|
||||
newstr = strdup(string);
|
||||
head = newstr;
|
||||
|
||||
while ( (tok = strstr ( head, substr ))) {
|
||||
char *oldstr = newstr;
|
||||
newstr = malloc ( strlen ( oldstr ) - strlen ( substr ) +
|
||||
strlen ( replacement ) + 1 );
|
||||
while ((tok = strstr(head, substr))) {
|
||||
char* oldstr = newstr;
|
||||
newstr = malloc(strlen(oldstr) - strlen(substr) + strlen(replacement) + 1);
|
||||
|
||||
if ( newstr == NULL ) {
|
||||
free (oldstr);
|
||||
if (newstr == NULL) {
|
||||
free(oldstr);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memcpy ( newstr, oldstr, tok - oldstr );
|
||||
memcpy ( newstr + (tok - oldstr), replacement, strlen ( replacement ) );
|
||||
memcpy ( newstr + (tok - oldstr) + strlen( replacement ),
|
||||
tok + strlen ( substr ),
|
||||
strlen ( oldstr ) - strlen ( substr ) - ( tok - oldstr ) );
|
||||
memset ( newstr + strlen ( oldstr ) - strlen ( substr ) +
|
||||
strlen ( replacement ) , 0, 1 );
|
||||
memcpy(newstr, oldstr, tok - oldstr);
|
||||
memcpy(newstr + (tok - oldstr), replacement, strlen(replacement));
|
||||
memcpy(newstr + (tok - oldstr) + strlen(replacement),
|
||||
tok + strlen(substr),
|
||||
strlen(oldstr) - strlen(substr) - (tok - oldstr));
|
||||
memset(newstr + strlen(oldstr) - strlen(substr) + strlen(replacement),
|
||||
0, 1);
|
||||
|
||||
head = newstr + (tok - oldstr) + strlen( replacement );
|
||||
free (oldstr);
|
||||
head = newstr + (tok - oldstr) + strlen(replacement);
|
||||
free(oldstr);
|
||||
}
|
||||
|
||||
return newstr;
|
||||
@ -178,21 +174,21 @@ str_contains(const char str[], int size, char ch)
|
||||
}
|
||||
|
||||
gboolean
|
||||
strtoi_range(char *str, int *saveptr, int min, int max, char **err_msg)
|
||||
strtoi_range(char* str, int* saveptr, int min, int max, char** err_msg)
|
||||
{
|
||||
char *ptr;
|
||||
char* ptr;
|
||||
int val;
|
||||
|
||||
errno = 0;
|
||||
val = (int)strtol(str, &ptr, 0);
|
||||
if (errno != 0 || *str == '\0' || *ptr != '\0') {
|
||||
GString *err_str = g_string_new("");
|
||||
GString* err_str = g_string_new("");
|
||||
g_string_printf(err_str, "Could not convert \"%s\" to a number.", str);
|
||||
*err_msg = err_str->str;
|
||||
g_string_free(err_str, FALSE);
|
||||
return FALSE;
|
||||
} else if (val < min || val > max) {
|
||||
GString *err_str = g_string_new("");
|
||||
GString* err_str = g_string_new("");
|
||||
g_string_printf(err_str, "Value %s out of range. Must be in %d..%d.", str, min, max);
|
||||
*err_msg = err_str->str;
|
||||
g_string_free(err_str, FALSE);
|
||||
@ -205,20 +201,20 @@ strtoi_range(char *str, int *saveptr, int min, int max, char **err_msg)
|
||||
}
|
||||
|
||||
int
|
||||
utf8_display_len(const char *const str)
|
||||
utf8_display_len(const char* const str)
|
||||
{
|
||||
if (!str) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int len = 0;
|
||||
gchar *curr = g_utf8_offset_to_pointer(str, 0);
|
||||
gchar* curr = g_utf8_offset_to_pointer(str, 0);
|
||||
while (*curr != '\0') {
|
||||
gunichar curru = g_utf8_get_char(curr);
|
||||
if (g_unichar_iswide(curru)) {
|
||||
len += 2;
|
||||
} else {
|
||||
len ++;
|
||||
len++;
|
||||
}
|
||||
curr = g_utf8_next_char(curr);
|
||||
}
|
||||
@ -229,9 +225,9 @@ utf8_display_len(const char *const str)
|
||||
char*
|
||||
release_get_latest(void)
|
||||
{
|
||||
char *url = "https://profanity-im.github.io/profanity_version.txt";
|
||||
char* url = "https://profanity-im.github.io/profanity_version.txt";
|
||||
|
||||
CURL *handle = curl_easy_init();
|
||||
CURL* handle = curl_easy_init();
|
||||
struct curl_data_t output;
|
||||
output.buffer = NULL;
|
||||
output.size = 0;
|
||||
@ -239,7 +235,7 @@ release_get_latest(void)
|
||||
curl_easy_setopt(handle, CURLOPT_URL, url);
|
||||
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, _data_callback);
|
||||
curl_easy_setopt(handle, CURLOPT_TIMEOUT, 2);
|
||||
curl_easy_setopt(handle, CURLOPT_WRITEDATA, (void *)&output);
|
||||
curl_easy_setopt(handle, CURLOPT_WRITEDATA, (void*)&output);
|
||||
|
||||
curl_easy_perform(handle);
|
||||
curl_easy_cleanup(handle);
|
||||
@ -253,22 +249,21 @@ release_get_latest(void)
|
||||
}
|
||||
|
||||
gboolean
|
||||
release_is_new(char *found_version)
|
||||
release_is_new(char* found_version)
|
||||
{
|
||||
int curr_maj, curr_min, curr_patch, found_maj, found_min, found_patch;
|
||||
|
||||
int parse_curr = sscanf(PACKAGE_VERSION, "%d.%d.%d", &curr_maj, &curr_min,
|
||||
&curr_patch);
|
||||
&curr_patch);
|
||||
int parse_found = sscanf(found_version, "%d.%d.%d", &found_maj, &found_min,
|
||||
&found_patch);
|
||||
&found_patch);
|
||||
|
||||
if (parse_found == 3 && parse_curr == 3) {
|
||||
if (found_maj > curr_maj) {
|
||||
return TRUE;
|
||||
} else if (found_maj == curr_maj && found_min > curr_min) {
|
||||
return TRUE;
|
||||
} else if (found_maj == curr_maj && found_min == curr_min
|
||||
&& found_patch > curr_patch) {
|
||||
} else if (found_maj == curr_maj && found_min == curr_min && found_patch > curr_patch) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@ -279,26 +274,25 @@ release_is_new(char *found_version)
|
||||
}
|
||||
|
||||
static size_t
|
||||
_data_callback(void *ptr, size_t size, size_t nmemb, void *data)
|
||||
_data_callback(void* ptr, size_t size, size_t nmemb, void* data)
|
||||
{
|
||||
size_t realsize = size * nmemb;
|
||||
struct curl_data_t *mem = (struct curl_data_t *) data;
|
||||
struct curl_data_t* mem = (struct curl_data_t*)data;
|
||||
mem->buffer = realloc(mem->buffer, mem->size + realsize + 1);
|
||||
|
||||
if ( mem->buffer )
|
||||
{
|
||||
memcpy( &( mem->buffer[ mem->size ] ), ptr, realsize );
|
||||
if (mem->buffer) {
|
||||
memcpy(&(mem->buffer[mem->size]), ptr, realsize);
|
||||
mem->size += realsize;
|
||||
mem->buffer[ mem->size ] = 0;
|
||||
mem->buffer[mem->size] = 0;
|
||||
}
|
||||
|
||||
return realsize;
|
||||
}
|
||||
|
||||
char*
|
||||
get_file_or_linked(char *loc, char *basedir)
|
||||
get_file_or_linked(char* loc, char* basedir)
|
||||
{
|
||||
char *true_loc = NULL;
|
||||
char* true_loc = NULL;
|
||||
|
||||
// check for symlink
|
||||
if (g_file_test(loc, G_FILE_TEST_IS_SYMLINK)) {
|
||||
@ -306,14 +300,14 @@ get_file_or_linked(char *loc, char *basedir)
|
||||
|
||||
// if relative, add basedir
|
||||
if (!g_str_has_prefix(true_loc, "/") && !g_str_has_prefix(true_loc, "~")) {
|
||||
GString *base_str = g_string_new(basedir);
|
||||
GString* base_str = g_string_new(basedir);
|
||||
g_string_append(base_str, "/");
|
||||
g_string_append(base_str, true_loc);
|
||||
free(true_loc);
|
||||
true_loc = base_str->str;
|
||||
g_string_free(base_str, FALSE);
|
||||
}
|
||||
// use given location
|
||||
// use given location
|
||||
} else {
|
||||
true_loc = strdup(loc);
|
||||
}
|
||||
@ -322,21 +316,21 @@ get_file_or_linked(char *loc, char *basedir)
|
||||
}
|
||||
|
||||
char*
|
||||
strip_arg_quotes(const char *const input)
|
||||
strip_arg_quotes(const char* const input)
|
||||
{
|
||||
char *unquoted = strdup(input);
|
||||
char* unquoted = strdup(input);
|
||||
|
||||
// Remove starting quote if it exists
|
||||
if(strchr(unquoted, '"')) {
|
||||
if(strchr(unquoted, ' ') + 1 == strchr(unquoted, '"')) {
|
||||
memmove(strchr(unquoted, '"'), strchr(unquoted, '"')+1, strchr(unquoted, '\0') - strchr(unquoted, '"'));
|
||||
if (strchr(unquoted, '"')) {
|
||||
if (strchr(unquoted, ' ') + 1 == strchr(unquoted, '"')) {
|
||||
memmove(strchr(unquoted, '"'), strchr(unquoted, '"') + 1, strchr(unquoted, '\0') - strchr(unquoted, '"'));
|
||||
}
|
||||
}
|
||||
|
||||
// Remove ending quote if it exists
|
||||
if(strchr(unquoted, '"')) {
|
||||
if(strchr(unquoted, '\0') - 1 == strchr(unquoted, '"')) {
|
||||
memmove(strchr(unquoted, '"'), strchr(unquoted, '"')+1, strchr(unquoted, '\0') - strchr(unquoted, '"'));
|
||||
if (strchr(unquoted, '"')) {
|
||||
if (strchr(unquoted, '\0') - 1 == strchr(unquoted, '"')) {
|
||||
memmove(strchr(unquoted, '"'), strchr(unquoted, '"') + 1, strchr(unquoted, '\0') - strchr(unquoted, '"'));
|
||||
}
|
||||
}
|
||||
|
||||
@ -362,23 +356,23 @@ is_notify_enabled(void)
|
||||
}
|
||||
|
||||
GSList*
|
||||
prof_occurrences(const char *const needle, const char *const haystack, int offset, gboolean whole_word, GSList **result)
|
||||
prof_occurrences(const char* const needle, const char* const haystack, int offset, gboolean whole_word, GSList** result)
|
||||
{
|
||||
if (needle == NULL || haystack == NULL) {
|
||||
return *result;
|
||||
}
|
||||
|
||||
gchar *haystack_curr = g_utf8_offset_to_pointer(haystack, offset);
|
||||
gchar* haystack_curr = g_utf8_offset_to_pointer(haystack, offset);
|
||||
if (g_str_has_prefix(haystack_curr, needle)) {
|
||||
if (whole_word) {
|
||||
gunichar before = 0;
|
||||
gchar *haystack_before_ch = g_utf8_find_prev_char(haystack, haystack_curr);
|
||||
gchar* haystack_before_ch = g_utf8_find_prev_char(haystack, haystack_curr);
|
||||
if (haystack_before_ch) {
|
||||
before = g_utf8_get_char(haystack_before_ch);
|
||||
}
|
||||
|
||||
gunichar after = 0;
|
||||
gchar *haystack_after_ch = haystack_curr + strlen(needle);
|
||||
gchar* haystack_after_ch = haystack_curr + strlen(needle);
|
||||
if (haystack_after_ch[0] != '\0') {
|
||||
after = g_utf8_get_char(haystack_after_ch);
|
||||
}
|
||||
@ -400,7 +394,7 @@ prof_occurrences(const char *const needle, const char *const haystack, int offse
|
||||
}
|
||||
|
||||
int
|
||||
is_regular_file(const char *path)
|
||||
is_regular_file(const char* path)
|
||||
{
|
||||
struct stat st;
|
||||
int ret = stat(path, &st);
|
||||
@ -412,7 +406,7 @@ is_regular_file(const char *path)
|
||||
}
|
||||
|
||||
int
|
||||
is_dir(const char *path)
|
||||
is_dir(const char* path)
|
||||
{
|
||||
struct stat st;
|
||||
int ret = stat(path, &st);
|
||||
@ -424,16 +418,16 @@ is_dir(const char *path)
|
||||
}
|
||||
|
||||
void
|
||||
get_file_paths_recursive(const char *path, GSList **contents)
|
||||
get_file_paths_recursive(const char* path, GSList** contents)
|
||||
{
|
||||
if (!is_dir(path)) {
|
||||
return;
|
||||
}
|
||||
|
||||
GDir* directory = g_dir_open(path, 0, NULL);
|
||||
const gchar *entry = g_dir_read_name(directory);
|
||||
const gchar* entry = g_dir_read_name(directory);
|
||||
while (entry) {
|
||||
GString *full = g_string_new(path);
|
||||
GString* full = g_string_new(path);
|
||||
if (!g_str_has_suffix(full->str, "/")) {
|
||||
g_string_append(full, "/");
|
||||
}
|
||||
@ -453,11 +447,11 @@ get_file_paths_recursive(const char *path, GSList **contents)
|
||||
char*
|
||||
get_random_string(int length)
|
||||
{
|
||||
GRand *prng;
|
||||
char *rand;
|
||||
GRand* prng;
|
||||
char* rand;
|
||||
char alphabet[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
|
||||
rand = calloc(length+1, sizeof(char));
|
||||
rand = calloc(length + 1, sizeof(char));
|
||||
|
||||
prng = g_rand_new();
|
||||
|
||||
@ -471,11 +465,11 @@ get_random_string(int length)
|
||||
}
|
||||
|
||||
GSList*
|
||||
get_mentions(gboolean whole_word, gboolean case_sensitive, const char *const message, const char *const nick)
|
||||
get_mentions(gboolean whole_word, gboolean case_sensitive, const char* const message, const char* const nick)
|
||||
{
|
||||
GSList *mentions = NULL;
|
||||
gchar *message_search = case_sensitive ? g_strdup(message) : g_utf8_strdown(message, -1);
|
||||
gchar *mynick_search = case_sensitive ? g_strdup(nick) : g_utf8_strdown(nick, -1);
|
||||
GSList* mentions = NULL;
|
||||
gchar* message_search = case_sensitive ? g_strdup(message) : g_utf8_strdown(message, -1);
|
||||
gchar* mynick_search = case_sensitive ? g_strdup(nick) : g_utf8_strdown(nick, -1);
|
||||
|
||||
mentions = prof_occurrences(mynick_search, message_search, 0, whole_word, &mentions);
|
||||
|
||||
@ -504,16 +498,16 @@ get_mentions(gboolean whole_word, gboolean case_sensitive, const char *const mes
|
||||
* - FALSE otherwise
|
||||
*/
|
||||
gboolean
|
||||
call_external(gchar **argv, gchar ***const output_ptr, gchar ***const error_ptr)
|
||||
call_external(gchar** argv, gchar*** const output_ptr, gchar*** const error_ptr)
|
||||
{
|
||||
gchar *stdout_str = NULL;
|
||||
gchar **stdout_str_ptr = &stdout_str;
|
||||
gchar *stderr_str = NULL;
|
||||
gchar **stderr_str_ptr = &stderr_str;
|
||||
gchar* stdout_str = NULL;
|
||||
gchar** stdout_str_ptr = &stdout_str;
|
||||
gchar* stderr_str = NULL;
|
||||
gchar** stderr_str_ptr = &stderr_str;
|
||||
GSpawnFlags flags = G_SPAWN_SEARCH_PATH;
|
||||
gint status;
|
||||
GError *error = NULL;
|
||||
gchar *cmd = NULL;
|
||||
GError* error = NULL;
|
||||
gchar* cmd = NULL;
|
||||
|
||||
cmd = g_strjoinv(" ", argv);
|
||||
log_debug("Calling external: %s", cmd);
|
||||
@ -528,7 +522,7 @@ call_external(gchar **argv, gchar ***const output_ptr, gchar ***const error_ptr)
|
||||
flags |= G_SPAWN_STDERR_TO_DEV_NULL;
|
||||
}
|
||||
|
||||
if (!g_spawn_sync (NULL, argv, NULL, flags, NULL, NULL, stdout_str_ptr, stderr_str_ptr, &status, &error)) {
|
||||
if (!g_spawn_sync(NULL, argv, NULL, flags, NULL, NULL, stdout_str_ptr, stderr_str_ptr, &status, &error)) {
|
||||
log_error("Spawning '%s' failed: %s.", cmd, error->message);
|
||||
g_error_free(error);
|
||||
error = NULL;
|
||||
|
51
src/common.h
51
src/common.h
@ -45,24 +45,23 @@
|
||||
#define notify_notification_new(summary, body, icon) notify_notification_new(summary, body, icon, NULL)
|
||||
#endif
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
|
||||
|
||||
// assume malloc stores at most 8 bytes for size of allocated memory
|
||||
// and page size is at least 4KB
|
||||
#define READ_BUF_SIZE 4088
|
||||
|
||||
|
||||
#define FREE_SET_NULL(resource) \
|
||||
do { \
|
||||
free(resource); \
|
||||
resource = NULL; \
|
||||
} while (0)
|
||||
do { \
|
||||
free(resource); \
|
||||
resource = NULL; \
|
||||
} while (0)
|
||||
|
||||
#define GFREE_SET_NULL(resource) \
|
||||
do { \
|
||||
g_free(resource); \
|
||||
resource = NULL; \
|
||||
} while (0)
|
||||
do { \
|
||||
g_free(resource); \
|
||||
resource = NULL; \
|
||||
} while (0)
|
||||
|
||||
typedef enum {
|
||||
CONTACT_OFFLINE,
|
||||
@ -81,31 +80,31 @@ typedef enum {
|
||||
RESOURCE_XA
|
||||
} resource_presence_t;
|
||||
|
||||
gboolean create_dir(char *name);
|
||||
gboolean mkdir_recursive(const char *dir);
|
||||
gboolean copy_file(const char *const src, const char *const target, const gboolean overwrite_existing);
|
||||
char* str_replace(const char *string, const char *substr, const char *replacement);
|
||||
gboolean create_dir(char* name);
|
||||
gboolean mkdir_recursive(const char* dir);
|
||||
gboolean copy_file(const char* const src, const char* const target, const gboolean overwrite_existing);
|
||||
char* str_replace(const char* string, const char* substr, const char* replacement);
|
||||
int str_contains(const char str[], int size, char ch);
|
||||
gboolean strtoi_range(char *str, int *saveptr, int min, int max, char **err_msg);
|
||||
int utf8_display_len(const char *const str);
|
||||
gboolean strtoi_range(char* str, int* saveptr, int min, int max, char** err_msg);
|
||||
int utf8_display_len(const char* const str);
|
||||
|
||||
char* release_get_latest(void);
|
||||
gboolean release_is_new(char *found_version);
|
||||
gboolean release_is_new(char* found_version);
|
||||
|
||||
char* get_file_or_linked(char *loc, char *basedir);
|
||||
char* strip_arg_quotes(const char *const input);
|
||||
char* get_file_or_linked(char* loc, char* basedir);
|
||||
char* strip_arg_quotes(const char* const input);
|
||||
gboolean is_notify_enabled(void);
|
||||
|
||||
GSList* prof_occurrences(const char *const needle, const char *const haystack, int offset, gboolean whole_word,
|
||||
GSList **result);
|
||||
GSList* get_mentions(gboolean whole_word, gboolean case_sensitive, const char *const message, const char *const nick);
|
||||
GSList* prof_occurrences(const char* const needle, const char* const haystack, int offset, gboolean whole_word,
|
||||
GSList** result);
|
||||
GSList* get_mentions(gboolean whole_word, gboolean case_sensitive, const char* const message, const char* const nick);
|
||||
|
||||
int is_regular_file(const char *path);
|
||||
int is_dir(const char *path);
|
||||
void get_file_paths_recursive(const char *directory, GSList **contents);
|
||||
int is_regular_file(const char* path);
|
||||
int is_dir(const char* path);
|
||||
void get_file_paths_recursive(const char* directory, GSList** contents);
|
||||
|
||||
char* get_random_string(int length);
|
||||
|
||||
gboolean call_external(gchar **argv, gchar ***const output_ptr, gchar ***const error_ptr);
|
||||
gboolean call_external(gchar** argv, gchar*** const output_ptr, gchar*** const error_ptr);
|
||||
|
||||
#endif
|
||||
|
@ -33,31 +33,31 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "log.h"
|
||||
#include "config/account.h"
|
||||
#include "log.h"
|
||||
#include "xmpp/jid.h"
|
||||
#include "xmpp/resource.h"
|
||||
|
||||
ProfAccount*
|
||||
account_new(const gchar *const name, const gchar *const jid,
|
||||
const gchar *const password, const gchar *eval_password, gboolean enabled, const gchar *const server,
|
||||
int port, const gchar *const resource, const gchar *const last_presence,
|
||||
const gchar *const login_presence, int priority_online, int priority_chat,
|
||||
int priority_away, int priority_xa, int priority_dnd,
|
||||
const gchar *const muc_service, const gchar *const muc_nick,
|
||||
const gchar *const otr_policy, GList *otr_manual, GList *otr_opportunistic,
|
||||
GList *otr_always, const gchar *const omemo_policy, GList *omemo_enabled,
|
||||
GList *omemo_disabled, const gchar *const pgp_keyid, const char *const startscript,
|
||||
const char *const theme, gchar *tls_policy, gchar *auth_policy)
|
||||
account_new(const gchar* const name, const gchar* const jid,
|
||||
const gchar* const password, const gchar* eval_password, gboolean enabled, const gchar* const server,
|
||||
int port, const gchar* const resource, const gchar* const last_presence,
|
||||
const gchar* const login_presence, int priority_online, int priority_chat,
|
||||
int priority_away, int priority_xa, int priority_dnd,
|
||||
const gchar* const muc_service, const gchar* const muc_nick,
|
||||
const gchar* const otr_policy, GList* otr_manual, GList* otr_opportunistic,
|
||||
GList* otr_always, const gchar* const omemo_policy, GList* omemo_enabled,
|
||||
GList* omemo_disabled, const gchar* const pgp_keyid, const char* const startscript,
|
||||
const char* const theme, gchar* tls_policy, gchar* auth_policy)
|
||||
{
|
||||
ProfAccount *new_account = malloc(sizeof(ProfAccount));
|
||||
ProfAccount* new_account = malloc(sizeof(ProfAccount));
|
||||
memset(new_account, 0, sizeof(ProfAccount));
|
||||
|
||||
new_account->name = strdup(name);
|
||||
@ -125,7 +125,7 @@ account_new(const gchar *const name, const gchar *const jid,
|
||||
}
|
||||
|
||||
if (muc_nick == NULL) {
|
||||
Jid *jidp = jid_create(new_account->jid);
|
||||
Jid* jidp = jid_create(new_account->jid);
|
||||
new_account->muc_nick = strdup(jidp->domainpart);
|
||||
jid_destroy(jidp);
|
||||
} else {
|
||||
@ -185,7 +185,7 @@ account_new(const gchar *const name, const gchar *const jid,
|
||||
}
|
||||
|
||||
char*
|
||||
account_create_connect_jid(ProfAccount *account)
|
||||
account_create_connect_jid(ProfAccount* account)
|
||||
{
|
||||
if (account->resource) {
|
||||
return create_fulljid(account->jid, account->resource);
|
||||
@ -195,15 +195,15 @@ account_create_connect_jid(ProfAccount *account)
|
||||
}
|
||||
|
||||
gboolean
|
||||
account_eval_password(ProfAccount *account)
|
||||
account_eval_password(ProfAccount* account)
|
||||
{
|
||||
assert(account != NULL);
|
||||
assert(account->eval_password != NULL);
|
||||
|
||||
gchar **output = NULL;
|
||||
gchar **error = NULL;
|
||||
gchar** output = NULL;
|
||||
gchar** error = NULL;
|
||||
|
||||
gchar *argv[] = {"sh", "-c", account->eval_password, NULL};
|
||||
gchar* argv[] = { "sh", "-c", account->eval_password, NULL };
|
||||
if (!call_external(argv, &output, &error)) {
|
||||
return FALSE;
|
||||
}
|
||||
@ -228,7 +228,7 @@ account_eval_password(ProfAccount *account)
|
||||
}
|
||||
|
||||
void
|
||||
account_free(ProfAccount *account)
|
||||
account_free(ProfAccount* account)
|
||||
{
|
||||
if (account == NULL) {
|
||||
return;
|
||||
@ -259,24 +259,28 @@ account_free(ProfAccount *account)
|
||||
free(account);
|
||||
}
|
||||
|
||||
void account_set_server(ProfAccount *account, const char *server)
|
||||
void
|
||||
account_set_server(ProfAccount* account, const char* server)
|
||||
{
|
||||
free(account->server);
|
||||
account->server = strdup(server);
|
||||
}
|
||||
|
||||
void account_set_port(ProfAccount *account, int port)
|
||||
void
|
||||
account_set_port(ProfAccount* account, int port)
|
||||
{
|
||||
account->port = port;
|
||||
}
|
||||
|
||||
void account_set_tls_policy(ProfAccount *account, const char *tls_policy)
|
||||
void
|
||||
account_set_tls_policy(ProfAccount* account, const char* tls_policy)
|
||||
{
|
||||
free(account->tls_policy);
|
||||
account->tls_policy = strdup(tls_policy);
|
||||
}
|
||||
|
||||
void account_set_auth_policy(ProfAccount *account, const char *auth_policy)
|
||||
void
|
||||
account_set_auth_policy(ProfAccount* account, const char* auth_policy)
|
||||
{
|
||||
free(account->auth_policy);
|
||||
account->auth_policy = strdup(auth_policy);
|
||||
|
@ -38,54 +38,55 @@
|
||||
|
||||
#include "common.h"
|
||||
|
||||
typedef struct prof_account_t {
|
||||
gchar *name;
|
||||
gchar *jid;
|
||||
gchar *password;
|
||||
gchar *eval_password;
|
||||
gchar *resource;
|
||||
gchar *server;
|
||||
typedef struct prof_account_t
|
||||
{
|
||||
gchar* name;
|
||||
gchar* jid;
|
||||
gchar* password;
|
||||
gchar* eval_password;
|
||||
gchar* resource;
|
||||
gchar* server;
|
||||
int port;
|
||||
gchar *last_presence;
|
||||
gchar *login_presence;
|
||||
gchar* last_presence;
|
||||
|