From a27ba6e38006c12c48de88600b8cff9f6aabfed7 Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 8 Oct 2014 17:35:58 +0000 Subject: Add xreallocarray and remove nmemb argument from xrealloc. --- tmux.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 9be247f8..d1197422 100644 --- a/tmux.h +++ b/tmux.h @@ -2408,7 +2408,8 @@ __dead void printflike1 log_fatalx(const char *, ...); char *xstrdup(const char *); void *xcalloc(size_t, size_t); void *xmalloc(size_t); -void *xrealloc(void *, size_t, size_t); +void *xrealloc(void *, size_t); +void *xreallocarray(void *, size_t, size_t); int printflike2 xasprintf(char **, const char *, ...); int xvasprintf(char **, const char *, va_list); int printflike3 xsnprintf(char *, size_t, const char *, ...); -- cgit From 45dfc5a074e2ceae11a6d4aeae597bee1e028503 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 20 Oct 2014 22:29:25 +0000 Subject: Instead of setting up the default keys by building the key struct directly with a helper function in the cmd_entry, include a table of bind-key commands and pass them through the command parser and a temporary cmd_q. As well as being smaller, this will allow default bindings to be command sequences which will probably be needed soon. --- tmux.h | 1 - 1 file changed, 1 deletion(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index d1197422..0a677a38 100644 --- a/tmux.h +++ b/tmux.h @@ -1492,7 +1492,6 @@ struct cmd_entry { #define CMD_READONLY 0x4 int flags; - void (*key_binding)(struct cmd *, int); enum cmd_retval (*exec)(struct cmd *, struct cmd_q *); }; -- cgit From 900f6fc17e6764377a8e293ce742fb41f1add9bd Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 20 Oct 2014 23:27:14 +0000 Subject: Tidy up some includes. --- tmux.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 0a677a38..2b2cd4a6 100644 --- a/tmux.h +++ b/tmux.h @@ -21,7 +21,6 @@ #define PROTOCOL_VERSION 8 -#include #include #include #include @@ -29,10 +28,8 @@ #include #include -#include #include #include -#include #include #include #include @@ -1565,7 +1562,7 @@ extern char *cfg_file; extern char *shell_cmd; extern int debug_level; extern time_t start_time; -extern char socket_path[MAXPATHLEN]; +extern char socket_path[PATH_MAX]; extern int login_shell; extern char *environ_path; void logfile(const char *); -- cgit From 4c42381410891c43b1326e95f150dfcf637b1e69 Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 20 Oct 2014 23:35:28 +0000 Subject: Move template defines back into .c files. --- tmux.h | 72 ------------------------------------------------------------------ 1 file changed, 72 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 2b2cd4a6..7ad6e62c 100644 --- a/tmux.h +++ b/tmux.h @@ -80,78 +80,6 @@ extern char **environ; #define nitems(_a) (sizeof((_a)) / sizeof((_a)[0])) #endif -/* Default template for choose-buffer. */ -#define CHOOSE_BUFFER_TEMPLATE \ - "#{buffer_name}: #{buffer_size} bytes: #{buffer_sample}" - -/* Default template for choose-client. */ -#define CHOOSE_CLIENT_TEMPLATE \ - "#{client_tty}: #{session_name} " \ - "[#{client_width}x#{client_height} #{client_termname}]" \ - "#{?client_utf8, (utf8),}#{?client_readonly, (ro),} " \ - "(last used #{client_activity_string})" - -/* Default templates for choose-tree. */ -#define CHOOSE_TREE_SESSION_TEMPLATE \ - "#{session_name}: #{session_windows} windows" \ - "#{?session_grouped, (group ,}" \ - "#{session_group}#{?session_grouped,),}" \ - "#{?session_attached, (attached),}" -#define CHOOSE_TREE_WINDOW_TEMPLATE \ - "#{window_index}: #{window_name}#{window_flags} " \ - "\"#{pane_title}\"" - -/* Default template for display-message. */ -#define DISPLAY_MESSAGE_TEMPLATE \ - "[#{session_name}] #{window_index}:" \ - "#{window_name}, current pane #{pane_index} " \ - "- (%H:%M %d-%b-%y)" - -/* Default template for find-window. */ -#define FIND_WINDOW_TEMPLATE \ - "#{window_index}: #{window_name} " \ - "[#{window_width}x#{window_height}] " \ - "(#{window_panes} panes) #{window_find_matches}" - -/* Default template for list-buffers. */ -#define LIST_BUFFERS_TEMPLATE \ - "#{buffer_name}: #{buffer_size} bytes: " \ - "\"#{buffer_sample}\"" - -/* Default template for list-clients. */ -#define LIST_CLIENTS_TEMPLATE \ - "#{client_tty}: #{session_name} " \ - "[#{client_width}x#{client_height} #{client_termname}]" \ - "#{?client_utf8, (utf8),} #{?client_readonly, (ro),}" - -/* Default template for list-sessions. */ -#define LIST_SESSIONS_TEMPLATE \ - "#{session_name}: #{session_windows} windows " \ - "(created #{session_created_string}) " \ - "[#{session_width}x#{session_height}]" \ - "#{?session_grouped, (group ,}" \ - "#{session_group}#{?session_grouped,),}" \ - "#{?session_attached, (attached),}" - -/* Default templates for list-windows. */ -#define LIST_WINDOWS_TEMPLATE \ - "#{window_index}: #{window_name}#{window_flags} " \ - "(#{window_panes} panes) " \ - "[#{window_width}x#{window_height}] " \ - "[layout #{window_layout}] #{window_id}" \ - "#{?window_active, (active),}"; -#define LIST_WINDOWS_WITH_SESSION_TEMPLATE \ - "#{session_name}:" \ - "#{window_index}: #{window_name}#{window_flags} " \ - "(#{window_panes} panes) " \ - "[#{window_width}x#{window_height}] " - -/* Default templates for break-pane, new-window and split-window. */ -#define BREAK_PANE_TEMPLATE "#{session_name}:#{window_index}.#{pane_index}" -#define NEW_SESSION_TEMPLATE "#{session_name}:" -#define NEW_WINDOW_TEMPLATE BREAK_PANE_TEMPLATE -#define SPLIT_WINDOW_TEMPLATE BREAK_PANE_TEMPLATE - /* Bell option values. */ #define BELL_NONE 0 #define BELL_ANY 1 -- cgit From 0a1a88d63caf3a0e8b4440686e73e1f0f690e03c Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 20 Oct 2014 23:57:13 +0000 Subject: Better format for printf format attributes. --- tmux.h | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 7ad6e62c..11803985 100644 --- a/tmux.h +++ b/tmux.h @@ -69,11 +69,7 @@ extern char **environ; #define unused __attribute__ ((unused)) /* Attribute to make gcc check printf-like arguments. */ -#define printflike1 __attribute__ ((format (printf, 1, 2))) -#define printflike2 __attribute__ ((format (printf, 2, 3))) -#define printflike3 __attribute__ ((format (printf, 3, 4))) -#define printflike4 __attribute__ ((format (printf, 4, 5))) -#define printflike5 __attribute__ ((format (printf, 5, 6))) +#define printflike(a, b) __attribute__ ((format (printf, a, b))) /* Number of items in array. */ #ifndef nitems @@ -1515,8 +1511,8 @@ int format_cmp(struct format_entry *, struct format_entry *); RB_PROTOTYPE(format_tree, format_entry, entry, format_cmp); struct format_tree *format_create(void); void format_free(struct format_tree *); -void printflike3 format_add(struct format_tree *, const char *, const char *, - ...); +void printflike(3, 4) format_add(struct format_tree *, const char *, + const char *, ...); const char *format_find(struct format_tree *, const char *); char *format_expand(struct format_tree *, const char *); void format_session(struct format_tree *, struct session *); @@ -1569,7 +1565,7 @@ void options_free(struct options *); struct options_entry *options_find1(struct options *, const char *); struct options_entry *options_find(struct options *, const char *); void options_remove(struct options *, const char *); -struct options_entry *printflike3 options_set_string(struct options *, +struct options_entry *printflike(3, 4) options_set_string(struct options *, const char *, const char *, ...); char *options_get_string(struct options *, const char *); struct options_entry *options_set_number(struct options *, const char *, @@ -1836,8 +1832,8 @@ size_t cmd_list_print(struct cmd_list *, char *, size_t); /* cmd-queue.c */ struct cmd_q *cmdq_new(struct client *); int cmdq_free(struct cmd_q *); -void printflike2 cmdq_print(struct cmd_q *, const char *, ...); -void printflike2 cmdq_error(struct cmd_q *, const char *, ...); +void printflike(2, 3) cmdq_print(struct cmd_q *, const char *, ...); +void printflike(2, 3) cmdq_error(struct cmd_q *, const char *, ...); int cmdq_guard(struct cmd_q *, const char *, int); void cmdq_run(struct cmd_q *, struct cmd_list *); void cmdq_append(struct cmd_q *, struct cmd_list *); @@ -1932,9 +1928,9 @@ void status_free_jobs(struct status_out_tree *); void status_update_jobs(struct client *); void status_set_window_at(struct client *, u_int); int status_redraw(struct client *); -char *status_replace(struct client *, struct session *, - struct winlink *, struct window_pane *, const char *, time_t, int); -void printflike2 status_message_set(struct client *, const char *, ...); +char *status_replace(struct client *, struct session *, struct winlink *, + struct window_pane *, const char *, time_t, int); +void printflike(2, 3) status_message_set(struct client *, const char *, ...); void status_message_clear(struct client *); int status_message_redraw(struct client *); void status_prompt_set(struct client *, const char *, const char *, @@ -2024,13 +2020,13 @@ void screen_write_start( struct screen_write_ctx *, struct window_pane *, struct screen *); void screen_write_stop(struct screen_write_ctx *); void screen_write_reset(struct screen_write_ctx *); -size_t printflike2 screen_write_cstrlen(int, const char *, ...); -void printflike5 screen_write_cnputs(struct screen_write_ctx *, +size_t printflike(2, 3) screen_write_cstrlen(int, const char *, ...); +void printflike(5, 6) screen_write_cnputs(struct screen_write_ctx *, ssize_t, struct grid_cell *, int, const char *, ...); -size_t printflike2 screen_write_strlen(int, const char *, ...); -void printflike3 screen_write_puts(struct screen_write_ctx *, +size_t printflike(2, 3) screen_write_strlen(int, const char *, ...); +void printflike(3, 4) screen_write_puts(struct screen_write_ctx *, struct grid_cell *, const char *, ...); -void printflike5 screen_write_nputs(struct screen_write_ctx *, +void printflike(5, 6) screen_write_nputs(struct screen_write_ctx *, ssize_t, struct grid_cell *, int, const char *, ...); void screen_write_vnputs(struct screen_write_ctx *, ssize_t, struct grid_cell *, int, const char *, va_list); @@ -2214,7 +2210,7 @@ extern const char window_clock_table[14][5][5]; extern const struct window_mode window_copy_mode; void window_copy_init_from_pane(struct window_pane *); void window_copy_init_for_output(struct window_pane *); -void printflike2 window_copy_add(struct window_pane *, const char *, ...); +void printflike(2, 3) window_copy_add(struct window_pane *, const char *, ...); void window_copy_vadd(struct window_pane *, const char *, va_list); void window_copy_pageup(struct window_pane *); @@ -2253,7 +2249,7 @@ void clear_signals(int); /* control.c */ void control_callback(struct client *, int, void *); -void printflike2 control_write(struct client *, const char *, ...); +void printflike(2, 3) control_write(struct client *, const char *, ...); void control_write_buffer(struct client *, struct evbuffer *); /* control-notify.c */ @@ -2324,9 +2320,9 @@ char *get_proc_name(int, char *); /* log.c */ void log_open(const char *); void log_close(void); -void printflike1 log_debug(const char *, ...); -__dead void printflike1 log_fatal(const char *, ...); -__dead void printflike1 log_fatalx(const char *, ...); +void printflike(1, 2) log_debug(const char *, ...); +__dead void printflike(1, 2) log_fatal(const char *, ...); +__dead void printflike(1, 2) log_fatalx(const char *, ...); /* xmalloc.c */ char *xstrdup(const char *); @@ -2334,9 +2330,9 @@ void *xcalloc(size_t, size_t); void *xmalloc(size_t); void *xrealloc(void *, size_t); void *xreallocarray(void *, size_t, size_t); -int printflike2 xasprintf(char **, const char *, ...); +int printflike(2, 3) xasprintf(char **, const char *, ...); int xvasprintf(char **, const char *, va_list); -int printflike3 xsnprintf(char *, size_t, const char *, ...); +int printflike(3, 4) xsnprintf(char *, size_t, const char *, ...); int xvsnprintf(char *, size_t, const char *, va_list); /* style.c */ -- cgit