aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arguments.c20
-rw-r--r--array.h5
-rw-r--r--cfg.c11
-rw-r--r--client.c2
-rw-r--r--cmd-attach-session.c4
-rw-r--r--cmd-bind-key.c3
-rw-r--r--cmd-break-pane.c4
-rw-r--r--cmd-capture-pane.c12
-rw-r--r--cmd-choose-buffer.c11
-rw-r--r--cmd-choose-client.c9
-rw-r--r--cmd-choose-tree.c12
-rw-r--r--cmd-command-prompt.c20
-rw-r--r--cmd-confirm-before.c12
-rw-r--r--cmd-delete-buffer.c2
-rw-r--r--cmd-display-message.c3
-rw-r--r--cmd-find-window.c9
-rw-r--r--cmd-if-shell.c10
-rw-r--r--cmd-join-pane.c4
-rw-r--r--cmd-link-window.c2
-rw-r--r--cmd-list-buffers.c3
-rw-r--r--cmd-list-clients.c3
-rw-r--r--cmd-list-panes.c3
-rw-r--r--cmd-list-sessions.c3
-rw-r--r--cmd-list-windows.c3
-rw-r--r--cmd-list.c3
-rw-r--r--cmd-load-buffer.c13
-rw-r--r--cmd-move-window.c2
-rw-r--r--cmd-new-session.c6
-rw-r--r--cmd-new-window.c4
-rw-r--r--cmd-paste-buffer.c2
-rw-r--r--cmd-rename-session.c2
-rw-r--r--cmd-respawn-pane.c3
-rw-r--r--cmd-respawn-window.c3
-rw-r--r--cmd-run-shell.c9
-rw-r--r--cmd-save-buffer.c3
-rw-r--r--cmd-set-buffer.c7
-rw-r--r--cmd-set-option.c2
-rw-r--r--cmd-show-buffer.c8
-rw-r--r--cmd-source-file.c6
-rw-r--r--cmd-split-window.c8
-rw-r--r--cmd-string.c27
-rw-r--r--cmd-unbind-key.c6
-rw-r--r--cmd.c45
-rw-r--r--control.c5
-rw-r--r--environ.c21
-rw-r--r--format.c19
-rw-r--r--grid.c17
-rw-r--r--input-keys.c2
-rw-r--r--input.c2
-rw-r--r--job.c5
-rw-r--r--key-bindings.c6
-rw-r--r--layout.c6
-rw-r--r--names.c9
-rw-r--r--options.c17
-rw-r--r--paste.c15
-rw-r--r--screen-write.c11
-rw-r--r--screen.c14
-rw-r--r--server-client.c24
-rw-r--r--server-fn.c3
-rw-r--r--server-window.c3
-rw-r--r--server.c10
-rw-r--r--session.c10
-rw-r--r--status.c45
-rw-r--r--tmux.c21
-rw-r--r--tmux.h1
-rw-r--r--tty-keys.c2
-rw-r--r--tty-term.c15
-rw-r--r--tty.c10
-rw-r--r--window-choose.c9
-rw-r--r--window-clock.c3
-rw-r--r--window-copy.c11
-rw-r--r--window.c37
-rw-r--r--xmalloc.c8
73 files changed, 330 insertions, 360 deletions
diff --git a/arguments.c b/arguments.c
index 2710cef4..4d54ff85 100644
--- a/arguments.c
+++ b/arguments.c
@@ -68,15 +68,14 @@ args_parse(const char *template, int argc, char **argv)
if (opt < 0 || opt >= SCHAR_MAX)
continue;
if (opt == '?' || (ptr = strchr(template, opt)) == NULL) {
- xfree(args->flags);
- xfree(args);
+ free(args->flags);
+ free(args);
return (NULL);
}
bit_set(args->flags, opt);
if (ptr[1] == ':') {
- if (args->values[opt] != NULL)
- xfree(args->values[opt]);
+ free(args->values[opt]);
args->values[opt] = xstrdup(optarg);
}
}
@@ -97,13 +96,11 @@ args_free(struct args *args)
cmd_free_argv(args->argc, args->argv);
- for (i = 0; i < SCHAR_MAX; i++) {
- if (args->values[i] != NULL)
- xfree(args->values[i]);
- }
+ for (i = 0; i < SCHAR_MAX; i++)
+ free(args->values[i]);
- xfree(args->flags);
- xfree(args);
+ free(args->flags);
+ free(args);
}
/* Print a set of arguments. */
@@ -182,8 +179,7 @@ args_has(struct args *args, u_char ch)
void
args_set(struct args *args, u_char ch, const char *value)
{
- if (args->values[ch] != NULL)
- xfree(args->values[ch]);
+ free(args->values[ch]);
if (value != NULL)
args->values[ch] = xstrdup(value);
else
diff --git a/array.h b/array.h
index 50f0da85..11e963bc 100644
--- a/array.h
+++ b/array.h
@@ -109,13 +109,12 @@
} while (0)
#define ARRAY_FREE(a) do { \
- if ((a)->list != NULL) \
- xfree((a)->list); \
+ free((a)->list); \
ARRAY_INIT(a); \
} while (0)
#define ARRAY_FREEALL(a) do { \
ARRAY_FREE(a); \
- xfree(a); \
+ free(a); \
} while (0)
#endif
diff --git a/cfg.c b/cfg.c
index 4d6a45c9..b1c67cbb 100644
--- a/cfg.c
+++ b/cfg.c
@@ -21,6 +21,7 @@
#include <errno.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -117,14 +118,14 @@ load_cfg(const char *path, struct cmd_ctx *ctxin, struct causelist *causes)
line = NULL;
if (cmd_string_parse(buf, &cmdlist, &cause) != 0) {
- xfree(buf);
+ free(buf);
if (cause == NULL)
continue;
cfg_add_cause(causes, "%s: %u: %s", path, n, cause);
- xfree(cause);
+ free(cause);
continue;
} else
- xfree(buf);
+ free(buf);
if (cmdlist == NULL)
continue;
cfg_cause = NULL;
@@ -150,13 +151,13 @@ load_cfg(const char *path, struct cmd_ctx *ctxin, struct causelist *causes)
if (cfg_cause != NULL) {
cfg_add_cause(
causes, "%s: %d: %s", path, n, cfg_cause);
- xfree(cfg_cause);
+ free(cfg_cause);
}
}
if (line != NULL) {
cfg_add_cause(causes,
"%s: %d: line continuation at end of file", path, n);
- xfree(line);
+ free(line);
}
fclose(f);
diff --git a/client.c b/client.c
index ec3ee41f..87ab7cd7 100644
--- a/client.c
+++ b/client.c
@@ -122,7 +122,7 @@ retry:
if (unlink(path) != 0 && errno != ENOENT)
return (-1);
fd = server_start(lockfd, lockfile);
- xfree(lockfile);
+ free(lockfile);
close(lockfd);
}
diff --git a/cmd-attach-session.c b/cmd-attach-session.c
index 9e800774..d8e1ccc3 100644
--- a/cmd-attach-session.c
+++ b/cmd-attach-session.c
@@ -18,6 +18,8 @@
#include <sys/types.h>
+#include <stdlib.h>
+
#include "tmux.h"
/*
@@ -81,7 +83,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx)
} else {
if (server_client_open(ctx->cmdclient, s, &cause) != 0) {
ctx->error(ctx, "open terminal failed: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index 6182e942..5e864960 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -74,7 +75,7 @@ cmd_bind_key_exec(struct cmd *self, struct cmd_ctx *ctx)
cmdlist = cmd_list_parse(args->argc - 1, args->argv + 1, &cause);
if (cmdlist == NULL) {
ctx->error(ctx, "%s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
diff --git a/cmd-break-pane.c b/cmd-break-pane.c
index cfa599f9..58ffdba6 100644
--- a/cmd-break-pane.c
+++ b/cmd-break-pane.c
@@ -81,7 +81,7 @@ cmd_break_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
w->active = wp;
name = default_window_name(w);
window_set_name(w, name);
- xfree(name);
+ free(name);
layout_init(w);
base_idx = options_get_number(&s->options, "base-index");
@@ -106,7 +106,7 @@ cmd_break_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
cp = format_expand(ft, template);
ctx->print(ctx, "%s", cp);
- xfree(cp);
+ free(cp);
format_free(ft);
}
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index 52fc792e..2dc516ee 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -62,7 +62,7 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
n = args_strtonum(args, 'S', INT_MIN, SHRT_MAX, &cause);
if (cause != NULL) {
top = gd->hsize;
- xfree(cause);
+ free(cause);
} else if (n < 0 && (u_int) -n > gd->hsize)
top = 0;
else
@@ -73,7 +73,7 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
n = args_strtonum(args, 'E', INT_MIN, SHRT_MAX, &cause);
if (cause != NULL) {
bottom = gd->hsize + gd->sy - 1;
- xfree(cause);
+ free(cause);
} else if (n < 0 && (u_int) -n > gd->hsize)
bottom = 0;
else
@@ -96,7 +96,7 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
len += linelen;
buf[len++] = '\n';
- xfree(line);
+ free(line);
}
limit = options_get_number(&global_options, "buffer-limit");
@@ -109,14 +109,14 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(buf);
- xfree(cause);
+ free(buf);
+ free(cause);
return (-1);
}
if (paste_replace(&global_buffers, buffer, buf, len) != 0) {
ctx->error(ctx, "no buffer %d", buffer);
- xfree(buf);
+ free(buf);
return (-1);
}
diff --git a/cmd-choose-buffer.c b/cmd-choose-buffer.c
index 66b9223c..d08c2342 100644
--- a/cmd-choose-buffer.c
+++ b/cmd-choose-buffer.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <ctype.h>
+#include <stdlib.h>
#include "tmux.h"
@@ -86,11 +87,11 @@ cmd_choose_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
xasprintf(&action_data, "%u", idx - 1);
cdata->command = cmd_template_replace(action, action_data, 1);
- xfree(action_data);
+ free(action_data);
window_choose_add(wl->window->active, cdata);
}
- xfree(action);
+ free(action);
window_choose_ready(wl->window->active,
0, cmd_choose_buffer_callback, cmd_choose_buffer_free);
@@ -119,7 +120,7 @@ cmd_choose_buffer_free(struct window_choose_data *data)
cdata->client->references--;
- xfree(cdata->command);
- xfree(cdata->ft_template);
- xfree(cdata);
+ free(cdata->command);
+ free(cdata->ft_template);
+ free(cdata);
}
diff --git a/cmd-choose-client.c b/cmd-choose-client.c
index 5b3e6bf4..92e70d00 100644
--- a/cmd-choose-client.c
+++ b/cmd-choose-client.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <ctype.h>
+#include <stdlib.h>
#include "tmux.h"
@@ -98,7 +99,7 @@ cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx)
window_choose_add(wl->window->active, cdata);
}
- xfree(action);
+ free(action);
window_choose_ready(wl->window->active,
cur, cmd_choose_client_callback, cmd_choose_client_free);
@@ -133,8 +134,8 @@ cmd_choose_client_free(struct window_choose_data *cdata)
cdata->client->references--;
- xfree(cdata->ft_template);
- xfree(cdata->command);
+ free(cdata->ft_template);
+ free(cdata->command);
format_free(cdata->ft);
- xfree(cdata);
+ free(cdata);
}
diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c
index 61c58839..e83a425d 100644
--- a/cmd-choose-tree.c
+++ b/cmd-choose-tree.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
@@ -206,7 +207,7 @@ windows_only:
ctx, s2, wm, final_win_template,
final_win_action, idx_ses);
- xfree(final_win_action);
+ free(final_win_action);
}
/*
* If we're just drawing windows, don't consider moving on to
@@ -215,8 +216,7 @@ windows_only:
if (wflag && !sflag)
break;
}
- if (final_win_template != NULL)
- xfree(final_win_template);
+ free(final_win_template);
window_choose_ready(wl->window->active, cur_win,
cmd_choose_tree_callback, cmd_choose_tree_free);
@@ -242,10 +242,10 @@ cmd_choose_tree_free(struct window_choose_data *cdata)
cdata->session->references--;
cdata->client->references--;
- xfree(cdata->ft_template);
- xfree(cdata->command);
+ free(cdata->ft_template);
+ free(cdata->command);
format_free(cdata->ft);
- xfree(cdata);
+ free(cdata);
}
diff --git a/cmd-command-prompt.c b/cmd-command-prompt.c
index 55e69b3b..bb94fb1f 100644
--- a/cmd-command-prompt.c
+++ b/cmd-command-prompt.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
@@ -138,7 +139,7 @@ cmd_command_prompt_exec(struct cmd *self, struct cmd_ctx *ctx)
status_prompt_set(c, prompt, input, cmd_command_prompt_callback,
cmd_command_prompt_free, cdata, 0);
- xfree(prompt);
+ free(prompt);
return (0);
}
@@ -157,7 +158,7 @@ cmd_command_prompt_callback(void *data, const char *s)
return (0);
new_template = cmd_template_replace(cdata->template, s, cdata->idx);
- xfree(cdata->template);
+ free(cdata->template);
cdata->template = new_template;
/*
@@ -169,7 +170,7 @@ cmd_command_prompt_callback(void *data, const char *s)
input = strsep(&cdata->next_input, ",");
status_prompt_update(c, prompt, input);
- xfree(prompt);
+ free(prompt);
cdata->idx++;
return (1);
}
@@ -178,7 +179,7 @@ cmd_command_prompt_callback(void *data, const char *s)
if (cause != NULL) {
*cause = toupper((u_char) *cause);
status_message_set(c, "%s", cause);
- xfree(cause);
+ free(cause);
}
return (0);
}
@@ -205,11 +206,8 @@ cmd_command_prompt_free(void *data)
{
struct cmd_command_prompt_cdata *cdata = data;
- if (cdata->inputs != NULL)
- xfree(cdata->inputs);
- if (cdata->prompts != NULL)
- xfree(cdata->prompts);
- if (cdata->template != NULL)
- xfree(cdata->template);
- xfree(cdata);
+ free(cdata->inputs);
+ free(cdata->prompts);
+ free(cdata->template);
+ free(cdata);
}
diff --git a/cmd-confirm-before.c b/cmd-confirm-before.c
index 159b938d..ea7eab4f 100644
--- a/cmd-confirm-before.c
+++ b/cmd-confirm-before.c
@@ -17,6 +17,7 @@
*/
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -87,7 +88,7 @@ cmd_confirm_before_exec(struct cmd *self, struct cmd_ctx *ctx)
ptr = copy = xstrdup(args->argv[0]);
cmd = strsep(&ptr, " \t");
xasprintf(&new_prompt, "Confirm '%s'? (y/n) ", cmd);
- xfree(copy);
+ free(copy);
}
cdata = xmalloc(sizeof *cdata);
@@ -97,7 +98,7 @@ cmd_confirm_before_exec(struct cmd *self, struct cmd_ctx *ctx)
cmd_confirm_before_callback, cmd_confirm_before_free, cdata,
PROMPT_SINGLE);
- xfree(new_prompt);
+ free(new_prompt);
return (1);
}
@@ -119,7 +120,7 @@ cmd_confirm_before_callback(void *data, const char *s)
if (cause != NULL) {
*cause = toupper((u_char) *cause);
status_message_set(c, "%s", cause);
- xfree(cause);
+ free(cause);
}
return (0);
}
@@ -144,7 +145,6 @@ cmd_confirm_before_free(void *data)
{
struct cmd_confirm_before_data *cdata = data;
- if (cdata->cmd != NULL)
- xfree(cdata->cmd);
- xfree(cdata);
+ free(cdata->cmd);
+ free(cdata);
}
diff --git a/cmd-delete-buffer.c b/cmd-delete-buffer.c
index 289e33a3..36c5ae0c 100644
--- a/cmd-delete-buffer.c
+++ b/cmd-delete-buffer.c
@@ -53,7 +53,7 @@ cmd_delete_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
diff --git a/cmd-display-message.c b/cmd-display-message.c
index 64cbed8c..41242cb9 100644
--- a/cmd-display-message.c
+++ b/cmd-display-message.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <time.h>
#include "tmux.h"
@@ -93,7 +94,7 @@ cmd_display_message_exec(struct cmd *self, struct cmd_ctx *ctx)
else
status_message_set(c, "%s", msg);
- xfree(msg);
+ free(msg);
format_free(ft);
return (0);
}
diff --git a/cmd-find-window.c b/cmd-find-window.c
index b6446c21..33187068 100644
--- a/cmd-find-window.c
+++ b/cmd-find-window.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <fnmatch.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -134,7 +135,7 @@ cmd_find_window_exec(struct cmd *self, struct cmd_ctx *ctx)
xasprintf(&sctx,
"pane %u line %u: \"%s\"", i - 1,
line + 1, sres);
- xfree(sres);
+ free(sres);
}
}
@@ -143,7 +144,7 @@ cmd_find_window_exec(struct cmd *self, struct cmd_ctx *ctx)
break;
}
}
- xfree(searchstr);
+ free(searchstr);
if (ARRAY_LENGTH(&list_idx) == 0) {
ctx->error(ctx, "no windows matching: %s", str);
@@ -217,7 +218,7 @@ cmd_find_window_free(struct window_choose_data *cdata)
cdata->session->references--;
- xfree(cdata->ft_template);
+ free(cdata->ft_template);
format_free(cdata->ft);
- xfree(cdata);
+ free(cdata);
}
diff --git a/cmd-if-shell.c b/cmd-if-shell.c
index 220fc33c..9123f4f3 100644
--- a/cmd-if-shell.c
+++ b/cmd-if-shell.c
@@ -20,6 +20,7 @@
#include <sys/types.h>
#include <sys/wait.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -91,7 +92,7 @@ cmd_if_shell_callback(struct job *job)
if (cmd_string_parse(cmd, &cmdlist, &cause) != 0) {
if (cause != NULL) {
ctx->error(ctx, "%s", cause);
- xfree(cause);
+ free(cause);
}
return;
}
@@ -115,8 +116,7 @@ cmd_if_shell_free(void *data)
if (ctx->curclient != NULL)
ctx->curclient->references--;
- if (cdata->cmd_else != NULL)
- xfree(cdata->cmd_else);
- xfree(cdata->cmd_if);
- xfree(cdata);
+ free(cdata->cmd_else);
+ free(cdata->cmd_if);
+ free(cdata);
}
diff --git a/cmd-join-pane.c b/cmd-join-pane.c
index a4eaf669..f223d72b 100644
--- a/cmd-join-pane.c
+++ b/cmd-join-pane.c
@@ -115,14 +115,14 @@ join_pane(struct cmd *self, struct cmd_ctx *ctx, int not_same_window)
size = args_strtonum(args, 'l', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "size %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
} else if (args_has(args, 'p')) {
percentage = args_strtonum(args, 'p', 0, 100, &cause);
if (cause != NULL) {
ctx->error(ctx, "percentage %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
if (type == LAYOUT_TOPBOTTOM)
diff --git a/cmd-link-window.c b/cmd-link-window.c
index 106f648d..8caff1fd 100644
--- a/cmd-link-window.c
+++ b/cmd-link-window.c
@@ -56,7 +56,7 @@ cmd_link_window_exec(struct cmd *self, struct cmd_ctx *ctx)
dflag = args_has(self->args, 'd');
if (server_link_window(src, wl, dst, idx, kflag, !dflag, &cause) != 0) {
ctx->error(ctx, "can't link window: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
recalculate_sizes();
diff --git a/cmd-list-buffers.c b/cmd-list-buffers.c
index 5f3cf5ea..9f1041c5 100644
--- a/cmd-list-buffers.c
+++ b/cmd-list-buffers.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -60,7 +61,7 @@ cmd_list_buffers_exec(unused struct cmd *self, struct cmd_ctx *ctx)
line = format_expand(ft, template);
ctx->print(ctx, "%s", line);
- xfree(line);
+ free(line);
format_free(ft);
}
diff --git a/cmd-list-clients.c b/cmd-list-clients.c
index 1319090c..f6a562c8 100644
--- a/cmd-list-clients.c
+++ b/cmd-list-clients.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
@@ -76,7 +77,7 @@ cmd_list_clients_exec(struct cmd *self, struct cmd_ctx *ctx)
line = format_expand(ft, template);
ctx->print(ctx, "%s", line);
- xfree(line);
+ free(line);
format_free(ft);
}
diff --git a/cmd-list-panes.c b/cmd-list-panes.c
index 7331abd3..9ef6cfaf 100644
--- a/cmd-list-panes.c
+++ b/cmd-list-panes.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <unistd.h>
#include "tmux.h"
@@ -135,7 +136,7 @@ cmd_list_panes_window(struct cmd *self,
line = format_expand(ft, template);
ctx->print(ctx, "%s", line);
- xfree(line);
+ free(line);
format_free(ft);
n++;
diff --git a/cmd-list-sessions.c b/cmd-list-sessions.c
index d43baf43..92566fac 100644
--- a/cmd-list-sessions.c
+++ b/cmd-list-sessions.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
@@ -60,7 +61,7 @@ cmd_list_sessions_exec(struct cmd *self, struct cmd_ctx *ctx)
line = format_expand(ft, template);
ctx->print(ctx, "%s", line);
- xfree(line);
+ free(line);
format_free(ft);
n++;
diff --git a/cmd-list-windows.c b/cmd-list-windows.c
index 6dc1999c..32297138 100644
--- a/cmd-list-windows.c
+++ b/cmd-list-windows.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <unistd.h>
#include "tmux.h"
@@ -103,7 +104,7 @@ cmd_list_windows_session(
line = format_expand(ft, template);
ctx->print(ctx, "%s", line);
- xfree(line);
+ free(line);
format_free(ft);
n++;
diff --git a/cmd-list.c b/cmd-list.c
index 5ff41687..e4f824b4 100644
--- a/cmd-list.c
+++ b/cmd-list.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -139,7 +140,7 @@ cmd_list_free(struct cmd_list *cmdlist)
TAILQ_REMOVE(&cmdlist->list, cmd, qentry);
cmd_free(cmd);
}
- xfree(cmdlist);
+ free(cmdlist);
}
size_t
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index 0df0cb26..4b877404 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -62,7 +62,7 @@ cmd_load_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
}
@@ -76,7 +76,7 @@ cmd_load_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer_ptr, &cause);
if (error != 0) {
ctx->error(ctx, "%s: %s", path, cause);
- xfree(cause);
+ free(cause);
return (-1);
}
return (1);
@@ -127,15 +127,14 @@ cmd_load_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
}
if (paste_replace(&global_buffers, buffer, pdata, psize) != 0) {
ctx->error(ctx, "no buffer %d", buffer);
- xfree(pdata);
+ free(pdata);
return (-1);
}
return (0);
error:
- if (pdata != NULL)
- xfree(pdata);
+ free(pdata);
if (f != NULL)
fclose(f);
return (-1);
@@ -158,7 +157,7 @@ cmd_load_buffer_callback(struct client *c, int closed, void *data)
psize = EVBUFFER_LENGTH(c->stdin_data);
if (psize == 0 || (pdata = malloc(psize + 1)) == NULL) {
- xfree(data);
+ free(data);
return;
}
memcpy(pdata, EVBUFFER_DATA(c->stdin_data), psize);
@@ -174,5 +173,5 @@ cmd_load_buffer_callback(struct client *c, int closed, void *data)
server_push_stderr(c);
}
- xfree(data);
+ free(data);
}
diff --git a/cmd-move-window.c b/cmd-move-window.c
index e3cb1f35..28cec4cd 100644
--- a/cmd-move-window.c
+++ b/cmd-move-window.c
@@ -66,7 +66,7 @@ cmd_move_window_exec(struct cmd *self, struct cmd_ctx *ctx)
dflag = args_has(self->args, 'd');
if (server_link_window(src, wl, dst, idx, kflag, !dflag, &cause) != 0) {
ctx->error(ctx, "can't move window: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
server_unlink_window(src, wl);
diff --git a/cmd-new-session.c b/cmd-new-session.c
index e8db7cc7..2e0df33d 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -130,7 +130,7 @@ cmd_new_session_exec(struct cmd *self, struct cmd_ctx *ctx)
if (!detached && ctx->cmdclient != NULL) {
if (server_client_open(ctx->cmdclient, NULL, &cause) != 0) {
ctx->error(ctx, "open terminal failed: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
}
@@ -201,7 +201,7 @@ cmd_new_session_exec(struct cmd *self, struct cmd_ctx *ctx)
s = session_create(newname, cmd, cwd, &env, tiop, idx, sx, sy, &cause);
if (s == NULL) {
ctx->error(ctx, "create session failed: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
environ_free(&env);
@@ -264,7 +264,7 @@ cmd_new_session_exec(struct cmd *self, struct cmd_ctx *ctx)
for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) {
cause = ARRAY_ITEM(&cfg_causes, i);
window_copy_add(wp, "%s", cause);
- xfree(cause);
+ free(cause);
}
ARRAY_FREE(&cfg_causes);
}
diff --git a/cmd-new-window.c b/cmd-new-window.c
index 94258556..af5ac544 100644
--- a/cmd-new-window.c
+++ b/cmd-new-window.c
@@ -112,7 +112,7 @@ cmd_new_window_exec(struct cmd *self, struct cmd_ctx *ctx)
wl = session_new(s, args_get(args, 'n'), cmd, cwd, idx, &cause);
if (wl == NULL) {
ctx->error(ctx, "create window failed: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
if (!detached) {
@@ -134,7 +134,7 @@ cmd_new_window_exec(struct cmd *self, struct cmd_ctx *ctx)
cp = format_expand(ft, template);
ctx->print(ctx, "%s", cp);
- xfree(cp);
+ free(cp);
format_free(ft);
}
diff --git a/cmd-paste-buffer.c b/cmd-paste-buffer.c
index 00fc57b1..c75fa9cf 100644
--- a/cmd-paste-buffer.c
+++ b/cmd-paste-buffer.c
@@ -63,7 +63,7 @@ cmd_paste_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
}
diff --git a/cmd-rename-session.c b/cmd-rename-session.c
index b80d54f5..cb81f913 100644
--- a/cmd-rename-session.c
+++ b/cmd-rename-session.c
@@ -59,7 +59,7 @@ cmd_rename_session_exec(struct cmd *self, struct cmd_ctx *ctx)
return (-1);
RB_REMOVE(sessions, &sessions, s);
- xfree(s->name);
+ free(s->name);
s->name = xstrdup(newname);
RB_INSERT(sessions, &sessions, s);
diff --git a/cmd-respawn-pane.c b/cmd-respawn-pane.c
index d4d67d54..37c221af 100644
--- a/cmd-respawn-pane.c
+++ b/cmd-respawn-pane.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <unistd.h>
#include "tmux.h"
@@ -79,7 +80,7 @@ cmd_respawn_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
cmd = NULL;
if (window_pane_spawn(wp, cmd, NULL, NULL, &env, s->tio, &cause) != 0) {
ctx->error(ctx, "respawn pane failed: %s", cause);
- xfree(cause);
+ free(cause);
environ_free(&env);
return (-1);
}
diff --git a/cmd-respawn-window.c b/cmd-respawn-window.c
index eb45d17e..dea29cac 100644
--- a/cmd-respawn-window.c
+++ b/cmd-respawn-window.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <unistd.h>
#include "tmux.h"
@@ -81,7 +82,7 @@ cmd_respawn_window_exec(struct cmd *self, struct cmd_ctx *ctx)
cmd = NULL;
if (window_pane_spawn(wp, cmd, NULL, NULL, &env, s->tio, &cause) != 0) {
ctx->error(ctx, "respawn window failed: %s", cause);
- xfree(cause);
+ free(cause);
environ_free(&env);
server_destroy_pane(wp);
return (-1);
diff --git a/cmd-run-shell.c b/cmd-run-shell.c
index b4872094..53db61c3 100644
--- a/cmd-run-shell.c
+++ b/cmd-run-shell.c
@@ -20,6 +20,7 @@
#include <sys/types.h>
#include <sys/wait.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -101,7 +102,7 @@ cmd_run_shell_callback(struct job *job)
ctx->print(ctx, "%s", line);
lines++;
- xfree(line);
+ free(line);
}
cmd = cdata->cmd;
@@ -119,7 +120,7 @@ cmd_run_shell_callback(struct job *job)
ctx->print(ctx, "%s", msg);
else
ctx->info(ctx, "%s", msg);
- xfree(msg);
+ free(msg);
}
}
@@ -136,6 +137,6 @@ cmd_run_shell_free(void *data)
if (ctx->curclient != NULL)
ctx->curclient->references--;
- xfree(cdata->cmd);
- xfree(cdata);
+ free(cdata->cmd);
+ free(cdata);
}
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index 1e3cbe6d..7139d4e8 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -20,6 +20,7 @@
#include <sys/stat.h>
#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -62,7 +63,7 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
diff --git a/cmd-set-buffer.c b/cmd-set-buffer.c
index 35e16e39..73507403 100644
--- a/cmd-set-buffer.c
+++ b/cmd-set-buffer.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -60,14 +61,14 @@ cmd_set_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(cause);
- xfree(pdata);
+ free(cause);
+ free(pdata);
return (-1);
}
if (paste_replace(&global_buffers, buffer, pdata, psize) != 0) {
ctx->error(ctx, "no buffer %d", buffer);
- xfree(pdata);
+ free(pdata);
return (-1);
}
diff --git a/cmd-set-option.c b/cmd-set-option.c
index 3d4e7001..1d37bfeb 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -257,7 +257,7 @@ cmd_set_option_string(struct cmd *self, unused struct cmd_ctx *ctx,
o = options_set_string(oo, oe->name, "%s", newval);
- xfree(newval);
+ free(newval);
return (o);
}
diff --git a/cmd-show-buffer.c b/cmd-show-buffer.c
index 57e571fe..ba11e4d2 100644
--- a/cmd-show-buffer.c
+++ b/cmd-show-buffer.c
@@ -18,6 +18,8 @@
#include <sys/types.h>
+#include <stdlib.h>
+
#include "tmux.h"
/*
@@ -59,7 +61,7 @@ cmd_show_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
ctx->error(ctx, "buffer %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
@@ -101,9 +103,9 @@ cmd_show_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
buf[len] = '\0';
ctx->print(ctx, "%s", buf);
}
- xfree(buf);
+ free(buf);
- xfree(in);
+ free(in);
return (0);
}
diff --git a/cmd-source-file.c b/cmd-source-file.c
index c888d52f..6ba55b09 100644
--- a/cmd-source-file.c
+++ b/cmd-source-file.c
@@ -18,6 +18,8 @@
#include <sys/types.h>
+#include <stdlib.h>
+
#include "tmux.h"
/*
@@ -59,13 +61,13 @@ cmd_source_file_exec(struct cmd *self, struct cmd_ctx *ctx)
for (i = 0; i < ARRAY_LENGTH(&causes); i++) {
cause = ARRAY_ITEM(&causes, i);
window_copy_add(wp, "%s", cause);
- xfree(cause);
+ free(cause);
}
} else {
for (i = 0; i < ARRAY_LENGTH(&causes); i++) {
cause = ARRAY_ITEM(&causes, i);
ctx->print(ctx, "%s", cause);
- xfree(cause);
+ free(cause);
}
}
ARRAY_FREE(&causes);
diff --git a/cmd-split-window.c b/cmd-split-window.c
index 6cf08a20..9a94d984 100644
--- a/cmd-split-window.c
+++ b/cmd-split-window.c
@@ -93,7 +93,7 @@ cmd_split_window_exec(struct cmd *self, struct cmd_ctx *ctx)
size = args_strtonum(args, 'l', 0, INT_MAX, &cause);
if (cause != NULL) {
xasprintf(&new_cause, "size %s", cause);
- xfree(cause);
+ free(cause);
cause = new_cause;
goto error;
}
@@ -101,7 +101,7 @@ cmd_split_window_exec(struct cmd *self, struct cmd_ctx *ctx)
percentage = args_strtonum(args, 'p', 0, INT_MAX, &cause);
if (cause != NULL) {
xasprintf(&new_cause, "percentage %s", cause);
- xfree(cause);
+ free(cause);
cause = new_cause;
goto error;
}
@@ -150,7 +150,7 @@ cmd_split_window_exec(struct cmd *self, struct cmd_ctx *ctx)
cp = format_expand(ft, template);
ctx->print(ctx, "%s", cp);
- xfree(cp);
+ free(cp);
format_free(ft);
}
@@ -162,6 +162,6 @@ error:
if (new_wp != NULL)
window_remove_pane(w, new_wp);
ctx->error(ctx, "create pane failed: %s", cause);
- xfree(cause);
+ free(cause);
return (-1);
}
diff --git a/cmd-string.c b/cmd-string.c
index 0dd2a778..4ec92417 100644
--- a/cmd-string.c
+++ b/cmd-string.c
@@ -87,7 +87,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = xrealloc(buf, 1, len + strlen(t) + 1);
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
- xfree(t);
+ free(t);
break;
case '"':
if ((t = cmd_string_string(s, &p, '"', 1)) == NULL)
@@ -95,7 +95,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = xrealloc(buf, 1, len + strlen(t) + 1);
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
- xfree(t);
+ free(t);
break;
case '$':
if ((t = cmd_string_variable(s, &p)) == NULL)
@@ -103,7 +103,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = xrealloc(buf, 1, len + strlen(t) + 1);
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
- xfree(t);
+ free(t);
break;
case '#':
/* Comment: discard rest of line. */
@@ -152,7 +152,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
buf = xrealloc(buf, 1, len + strlen(t) + 1);
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
- xfree(t);
+ free(t);
break;
}
/* FALLTHROUGH */
@@ -170,13 +170,12 @@ error:
xasprintf(cause, "invalid or unknown command: %s", s);
out:
- if (buf != NULL)
- xfree(buf);
+ free(buf);
if (argv != NULL) {
for (i = 0; i < argc; i++)
- xfree(argv[i]);
- xfree(argv);
+ free(argv[i]);
+ free(argv);
}
return (rval);
@@ -224,7 +223,7 @@ cmd_string_string(const char *s, size_t *p, char endch, int esc)
buf = xrealloc(buf, 1, len + strlen(t) + 1);
strlcpy(buf + len, t, strlen(t) + 1);
len += strlen(t);
- xfree(t);
+ free(t);
continue;
}
@@ -239,8 +238,7 @@ cmd_string_string(const char *s, size_t *p, char endch, int esc)
return (buf);
error:
- if (buf != NULL)
- xfree(buf);
+ free(buf);
return (NULL);
}
@@ -303,14 +301,13 @@ cmd_string_variable(const char *s, size_t *p)
buf[len] = '\0';
envent = environ_find(&global_environ, buf);
- xfree(buf);
+ free(buf);
if (envent == NULL)
return (xstrdup(""));
return (xstrdup(envent->value));
error:
- if (buf != NULL)
- xfree(buf);
+ free(buf);
return (NULL);
}
@@ -334,7 +331,7 @@ cmd_string_expand_tilde(const char *s, size_t *p)
return (NULL);
if ((pw = getpwnam(username)) != NULL)
home = pw->pw_dir;
- xfree(username);
+ free(username);
}
if (home == NULL)
return (NULL);
diff --git a/cmd-unbind-key.c b/cmd-unbind-key.c
index 5773f3d0..d5937118 100644
--- a/cmd-unbind-key.c
+++ b/cmd-unbind-key.c
@@ -18,6 +18,8 @@
#include <sys/types.h>
+#include <stdlib.h>
+
#include "tmux.h"
/*
@@ -100,7 +102,7 @@ cmd_unbind_key_table(struct cmd *self, struct cmd_ctx *ctx, int key)
while (!RB_EMPTY(mtab->tree)) {
mbind = RB_ROOT(mtab->tree);
RB_REMOVE(mode_key_tree, mtab->tree, mbind);
- xfree(mbind);
+ free(mbind);
}
return (0);
}
@@ -109,7 +111,7 @@ cmd_unbind_key_table(struct cmd *self, struct cmd_ctx *ctx, int key)
mtmp.mode = !!args_has(args, 'c');
if ((mbind = RB_FIND(mode_key_tree, mtab->tree, &mtmp)) != NULL) {
RB_REMOVE(mode_key_tree, mtab->tree, mbind);
- xfree(mbind);
+ free(mbind);
}
return (0);
}
diff --git a/cmd.c b/cmd.c
index b23d2a85..f32dc67e 100644
--- a/cmd.c
+++ b/cmd.c
@@ -197,11 +197,9 @@ cmd_free_argv(int argc, char **argv)
if (argc == 0)
return;
- for (i = 0; i < argc; i++) {
- if (argv[i] != NULL)
- xfree(argv[i]);
- }
- xfree(argv);
+ for (i = 0; i < argc; i++)
+ free(argv[i]);
+ free(argv);
}
struct cmd *
@@ -290,9 +288,8 @@ cmd_exec(struct cmd *cmd, struct cmd_ctx *ctx)
void
cmd_free(struct cmd *cmd)
{
- if (cmd->args != NULL)
- args_free(cmd->args);
- xfree(cmd);
+ args_free(cmd->args);
+ free(cmd);
}
size_t
@@ -506,7 +503,7 @@ cmd_find_client(struct cmd_ctx *ctx, const char *arg)
if (c == NULL)
ctx->error(ctx, "client not found: %s", tmparg);
- xfree(tmparg);
+ free(tmparg);
return (c);
}
@@ -766,7 +763,7 @@ cmd_find_session(struct cmd_ctx *ctx, const char *arg, int prefer_unattached)
/* An empty session name is the current session. */
if (*tmparg == '\0') {
- xfree(tmparg);
+ free(tmparg);
return (cmd_current_session(ctx, prefer_unattached));
}
@@ -785,7 +782,7 @@ cmd_find_session(struct cmd_ctx *ctx, const char *arg, int prefer_unattached)
ctx->error(ctx, "session not found: %s", tmparg);
}
- xfree(tmparg);
+ free(tmparg);
return (s);
}
@@ -860,7 +857,7 @@ cmd_find_window(struct cmd_ctx *ctx, const char *arg, struct session **sp)
goto not_found;
if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (wl);
no_colon:
@@ -898,8 +895,7 @@ no_session:
ctx->error(ctx, "multiple sessions: %s", arg);
else
ctx->error(ctx, "session not found: %s", arg);
- if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (NULL);
not_found:
@@ -907,8 +903,7 @@ not_found:
ctx->error(ctx, "multiple windows: %s", arg);
else
ctx->error(ctx, "window not found: %s", arg);
- if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (NULL);
}
@@ -999,8 +994,7 @@ cmd_find_index(struct cmd_ctx *ctx, const char *arg, struct session **sp)
} else if ((idx = cmd_lookup_index(s, winptr, &ambiguous)) == -1)
goto invalid_index;
- if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (idx);
no_colon:
@@ -1039,8 +1033,7 @@ no_session:
ctx->error(ctx, "multiple sessions: %s", arg);
else
ctx->error(ctx, "session not found: %s", arg);
- if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (-2);
invalid_index:
@@ -1048,8 +1041,7 @@ invalid_index:
goto not_found;
ctx->error(ctx, "invalid index: %s", arg);
- if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (-2);
not_found:
@@ -1057,8 +1049,7 @@ not_found:
ctx->error(ctx, "multiple windows: %s", arg);
else
ctx->error(ctx, "window not found: %s", arg);
- if (sessptr != NULL)
- xfree(sessptr);
+ free(sessptr);
return (-2);
}
@@ -1152,7 +1143,7 @@ cmd_find_pane(struct cmd_ctx *ctx,
goto lookup_string;
}
- xfree(winptr);
+ free(winptr);
return (wl);
lookup_string:
@@ -1162,7 +1153,7 @@ lookup_string:
goto error;
}
- xfree(winptr);
+ free(winptr);
return (wl);
no_period:
@@ -1188,7 +1179,7 @@ lookup_window:
return (wl);
error:
- xfree(winptr);
+ free(winptr);
return (NULL);
}
diff --git a/control.c b/control.c
index 90ab4729..c8adc57d 100644
--- a/control.c
+++ b/control.c
@@ -20,6 +20,7 @@
#include <sys/types.h>
#include <event.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -110,12 +111,12 @@ control_callback(struct client *c, int closed, unused void *data)
if (cmd_string_parse(line, &cmdlist, &cause) != 0) {
control_write(c, "%%error in line \"%s\": %s", line,
cause);
- xfree(cause);
+ free(cause);
} else {
cmd_list_exec(cmdlist, &ctx);
cmd_list_free(cmdlist);
}
- xfree(line);
+ free(line);
}
}
diff --git a/environ.c b/environ.c
index 584b8de5..3c0a5cb2 100644
--- a/environ.c
+++ b/environ.c
@@ -51,10 +51,9 @@ environ_free(struct environ *env)
while (!RB_EMPTY(env)) {
envent = RB_ROOT(env);
RB_REMOVE(environ, env, envent);
- xfree(envent->name);
- if (envent->value != NULL)
- xfree(envent->value);
- xfree(envent);
+ free(envent->name);
+ free(envent->value);
+ free(envent);
}
}
@@ -85,8 +84,7 @@ environ_set(struct environ *env, const char *name, const char *value)
struct environ_entry *envent;
if ((envent = environ_find(env, name)) != NULL) {
- if (envent->value != NULL)
- xfree(envent->value);
+ free(envent->value);
if (value != NULL)
envent->value = xstrdup(value);
else
@@ -117,7 +115,7 @@ environ_put(struct environ *env, const char *var)
name[strcspn(name, "=")] = '\0';
environ_set(env, name, value);
- xfree(name);
+ free(name);
}
/* Unset an environment variable. */
@@ -129,10 +127,9 @@ environ_unset(struct environ *env, const char *name)
if ((envent = environ_find(env, name)) == NULL)
return;
RB_REMOVE(environ, env, envent);
- xfree(envent->name);
- if (envent->value != NULL)
- xfree(envent->value);
- xfree(envent);
+ free(envent->name);
+ free(envent->value);
+ free(envent);
}
/*
@@ -152,7 +149,7 @@ environ_update(const char *vars, struct environ *srcenv, struct environ *dstenv)
else
environ_set(dstenv, envent->name, envent->value);
}
- xfree(copyvars);
+ free(copyvars);
}
/* Push environment into the real environment - use after fork(). */
diff --git a/format.c b/format.c
index b6c5858e..55d51df5 100644
--- a/format.c
+++ b/format.c
@@ -20,6 +20,7 @@
#include <netdb.h>
#include <stdarg.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
@@ -102,12 +103,12 @@ format_free(struct format_tree *ft)
fe_next = RB_NEXT(format_tree, ft, fe);
RB_REMOVE(format_tree, ft, fe);
- xfree(fe->value);
- xfree(fe->key);
- xfree(fe);
+ free(fe->value);
+ free(fe->key);
+ free(fe);
}
- xfree (ft);
+ free (ft);
}
/* Add a key-value pair. */
@@ -195,11 +196,11 @@ format_replace(struct format_tree *ft,
memcpy(*buf + *off, value, valuelen);
*off += valuelen;
- xfree(copy);
+ free(copy);
return (0);
fail:
- xfree(copy);
+ free(copy);
return (-1);
}
@@ -351,8 +352,8 @@ format_winlink(struct format_tree *ft, struct session *s, struct winlink *wl)
format_add(ft, "window_active", "%d", wl == s->curw);
format_add(ft, "window_panes", "%u", window_count_panes(w));
- xfree(flags);
- xfree(layout);
+ free(flags);
+ free(layout);
}
/* Set default format keys for a window pane. */
@@ -403,5 +404,5 @@ format_paste_buffer(struct format_tree *ft, struct paste_buffer *pb)
format_add(ft, "buffer_size", "%zu", pb->size);
format_add(ft, "buffer_sample", "%s", pb_print);
- xfree(pb_print);
+ free(pb_print);
}
diff --git a/grid.c b/grid.c
index e9922d91..71a36797 100644
--- a/grid.c
+++ b/grid.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -98,15 +99,13 @@ grid_destroy(struct grid *gd)
for (yy = 0; yy < gd->hsize + gd->sy; yy++) {
gl = &gd->linedata[yy];
- if (gl->celldata != NULL)
- xfree(gl->celldata);
- if (gl->utf8data != NULL)
- xfree(gl->utf8data);
+ free(gl->celldata);
+ free(gl->utf8data);
}
- xfree(gd->linedata);
+ free(gd->linedata);
- xfree(gd);
+ free(gd);
}
/* Compare grids. */
@@ -373,10 +372,8 @@ grid_clear_lines(struct grid *gd, u_int py, u_int ny)
for (yy = py; yy < py + ny; yy++) {
gl = &gd->linedata[yy];
- if (gl->celldata != NULL)
- xfree(gl->celldata);
- if (gl->utf8data != NULL)
- xfree(gl->utf8data);
+ free(gl->celldata);
+ free(gl->utf8data);
memset(gl, 0, sizeof *gl);
}
}
diff --git a/input-keys.c b/input-keys.c
index ea1fb92e..2b30d4ba 100644
--- a/input-keys.c
+++ b/input-keys.c
@@ -163,7 +163,7 @@ input_key(struct window_pane *wp, int key)
if (options_get_number(&wp->window->options, "xterm-keys")) {
if ((out = xterm_keys_lookup(key)) != NULL) {
bufferevent_write(wp->event, out, strlen(out));
- xfree(out);
+ free(out);
return;
}
}
diff --git a/input.c b/input.c
index 3c11da1d..f4e138be 100644
--- a/input.c
+++ b/input.c
@@ -853,7 +853,7 @@ input_reply(struct input_ctx *ictx, const char *fmt, ...)
va_end(ap);
bufferevent_write(ictx->wp->event, reply, strlen(reply));
- xfree(reply);
+ free(reply);
}
/* Clear saved state. */
diff --git a/job.c b/job.c
index 1ec87d99..c648eae0 100644
--- a/job.c
+++ b/job.c
@@ -20,6 +20,7 @@
#include <sys/socket.h>
#include <fcntl.h>
+#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@@ -116,7 +117,7 @@ job_free(struct job *job)
log_debug("free job %p: %s", job, job->cmd);
LIST_REMOVE(job, lentry);
- xfree(job->cmd);
+ free(job->cmd);
if (job->freefn != NULL && job->data != NULL)
job->freefn(job->data);
@@ -128,7 +129,7 @@ job_free(struct job *job)
if (job->fd != -1)
close(job->fd);
- xfree(job);
+ free(job);
}
/* Job buffer error callback. */
diff --git a/key-bindings.c b/key-bindings.c
index 24f98c60..a6ed32ba 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -90,7 +90,7 @@ key_bindings_clean(void)
bd = RB_ROOT(&dead_key_bindings);
RB_REMOVE(key_bindings, &dead_key_bindings, bd);
cmd_list_free(bd->cmdlist);
- xfree(bd);
+ free(bd);
}
}
@@ -216,7 +216,7 @@ key_bindings_error(struct cmd_ctx *ctx, const char *fmt, ...)
*msg = toupper((u_char) *msg);
status_message_set(ctx->curclient, "%s", msg);
- xfree(msg);
+ free(msg);
}
void printflike2
@@ -258,7 +258,7 @@ key_bindings_info(struct cmd_ctx *ctx, const char *fmt, ...)
*msg = toupper((u_char) *msg);
status_message_set(ctx->curclient, "%s", msg);
- xfree(msg);
+ free(msg);
}
void
diff --git a/layout.c b/layout.c
index 837773d0..fc77c928 100644
--- a/layout.c
+++ b/layout.c
@@ -78,7 +78,7 @@ layout_free_cell(struct layout_cell *lc)
break;
}
- xfree(lc);
+ free(lc);
}
void
@@ -781,8 +781,8 @@ layout_list_add(struct window *w)
TAILQ_REMOVE(&w->layout_list, ll, entry);
w->layout_list_size--;
- xfree(ll->layout);
- xfree(ll);
+ free(ll->layout);
+ free(ll);
}
}
diff --git a/names.c b/names.c
index eea711dc..11baae35 100644
--- a/names.c
+++ b/names.c
@@ -20,6 +20,7 @@
#include <ctype.h>
#include <libgen.h>
+#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@@ -73,12 +74,12 @@ window_name_callback(unused int fd, unused short events, void *data)
wname = parse_window_name(name + 1);
else
wname = parse_window_name(name);
- xfree(name);
+ free(name);
}
if (w->active->fd == -1) {
xasprintf(&name, "%s[dead]", wname);
- xfree(wname);
+ free(wname);
wname = name;
}
@@ -86,7 +87,7 @@ window_name_callback(unused int fd, unused short events, void *data)
window_set_name(w, wname);
server_status_window(w);
}
- xfree(wname);
+ free(wname);
}
char *
@@ -122,6 +123,6 @@ parse_window_name(const char *in)
if (*name == '/')
name = basename(name);
name = xstrdup(name);
- xfree(copy);
+ free(copy);
return (name);
}
diff --git a/options.c b/options.c
index 68d20912..7360906b 100644
--- a/options.c
+++ b/options.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <stdarg.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -51,10 +52,10 @@ options_free(struct options *oo)
while (!RB_EMPTY(&oo->tree)) {
o = RB_ROOT(&oo->tree);
RB_REMOVE(options_tree, &oo->tree, o);
- xfree(o->name);
+ free(o->name);
if (o->type == OPTIONS_STRING)
- xfree(o->str);
- xfree(o);
+ free(o->str);
+ free(o);
}
}
@@ -92,10 +93,10 @@ options_remove(struct options *oo, const char *name)
return;
RB_REMOVE(options_tree, &oo->tree, o);
- xfree(o->name);
+ free(o->name);
if (o->type == OPTIONS_STRING)
- xfree(o->str);
- xfree(o);
+ free(o->str);
+ free(o);
}
struct options_entry *printflike3
@@ -109,7 +110,7 @@ options_set_string(struct options *oo, const char *name, const char *fmt, ...)
o->name = xstrdup(name);
RB_INSERT(options_tree, &oo->tree, o);
} else if (o->type == OPTIONS_STRING)
- xfree(o->str);
+ free(o->str);
va_start(ap, fmt);
o->type = OPTIONS_STRING;
@@ -140,7 +141,7 @@ options_set_number(struct options *oo, const char *name, long long value)
o->name = xstrdup(name);
RB_INSERT(options_tree, &oo->tree, o);
} else if (o->type == OPTIONS_STRING)
- xfree(o->str);
+ free(o->str);
o->type = OPTIONS_NUMBER;
o->num = value;
diff --git a/paste.c b/paste.c
index f2f1fed6..b3e59562 100644
--- a/paste.c
+++ b/paste.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <sys/time.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -69,8 +70,8 @@ paste_free_top(struct paste_stack *ps)
pb = ARRAY_FIRST(ps);
ARRAY_REMOVE(ps, 0);
- xfree(pb->data);
- xfree(pb);
+ free(pb->data);
+ free(pb);
return (0);
}
@@ -87,8 +88,8 @@ paste_free_index(struct paste_stack *ps, u_int idx)
pb = ARRAY_ITEM(ps, idx);
ARRAY_REMOVE(ps, idx);
- xfree(pb->data);
- xfree(pb);
+ free(pb->data);
+ free(pb);
return (0);
}
@@ -107,8 +108,8 @@ paste_add(struct paste_stack *ps, char *data, size_t size, u_int limit)
while (ARRAY_LENGTH(ps) >= limit) {
pb = ARRAY_LAST(ps);
- xfree(pb->data);
- xfree(pb);
+ free(pb->data);
+ free(pb);
ARRAY_TRUNC(ps, 1);
}
@@ -136,7 +137,7 @@ paste_replace(struct paste_stack *ps, u_int idx, char *data, size_t size)
return (-1);
pb = ARRAY_ITEM(ps, idx);
- xfree(pb->data);
+ free(pb->data);
pb->data = data;
pb->size = size;
diff --git a/screen-write.c b/screen-write.c
index 3054ebc7..2b373d77 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -102,8 +103,8 @@ screen_write_cstrlen(int utf8flag, const char *fmt, ...)
size = screen_write_strlen(utf8flag, "%s", msg2);
- xfree(msg);
- xfree(msg2);
+ free(msg);
+ free(msg2);
return (size);
}
@@ -141,7 +142,7 @@ screen_write_strlen(int utf8flag, const char *fmt, ...)
}
}
- xfree(msg);
+ free(msg);
return (size);
}
@@ -215,7 +216,7 @@ screen_write_vnputs(struct screen_write_ctx *ctx, ssize_t maxlen,
}
}
- xfree(msg);
+ free(msg);
}
/* Write string, similar to nputs, but with embedded formatting (#[]). */
@@ -285,7 +286,7 @@ screen_write_cnputs(struct screen_write_ctx *ctx,
}
}
- xfree(msg);
+ free(msg);
}
/* Parse an embedded style of the form "fg=colour,bg=colour,bright,...". */
diff --git a/screen.c b/screen.c
index 6f0f3e43..64713728 100644
--- a/screen.c
+++ b/screen.c
@@ -71,10 +71,9 @@ screen_reinit(struct screen *s)
void
screen_free(struct screen *s)
{
- if (s->tabs != NULL)
- xfree(s->tabs);
- xfree(s->title);
- xfree(s->ccolour);
+ free(s->tabs);
+ free(s->title);
+ free(s->ccolour);
grid_destroy(s->grid);
}
@@ -84,8 +83,7 @@ screen_reset_tabs(struct screen *s)
{
u_int i;
- if (s->tabs != NULL)
- xfree(s->tabs);
+ free(s->tabs);
if ((s->tabs = bit_alloc(screen_size_x(s))) == NULL)
fatal("bit_alloc failed");
@@ -105,7 +103,7 @@ screen_set_cursor_style(struct screen *s, u_int style)
void
screen_set_cursor_colour(struct screen *s, const char *colour_string)
{
- xfree(s->ccolour);
+ free(s->ccolour);
s->ccolour = xstrdup(colour_string);
}
@@ -117,7 +115,7 @@ screen_set_title(struct screen *s, const char *title)
strlcpy(tmp, title, sizeof tmp);
- xfree(s->title);
+ free(s->title);
s->title = xstrdup(tmp);
}
diff --git a/server-client.c b/server-client.c
index a85561c3..e2a5b957 100644
--- a/server-client.c
+++ b/server-client.c
@@ -20,6 +20,7 @@
#include <event.h>
#include <fcntl.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
@@ -150,31 +151,25 @@ server_client_lost(struct client *c)
status_free_jobs(&c->status_old);
screen_free(&c->status);
- if (c->title != NULL)
- xfree(c->title);
+ free(c->title);
evtimer_del(&c->repeat_timer);
if (event_initialized(&c->identify_timer))
evtimer_del(&c->identify_timer);
- if (c->message_string != NULL)
- xfree(c->message_string);
+ free(c->message_string);
if (event_initialized (&c->message_timer))
evtimer_del(&c->message_timer);
for (i = 0; i < ARRAY_LENGTH(&c->message_log); i++) {
msg = &ARRAY_ITEM(&c->message_log, i);
- xfree(msg->msg);
+ free(msg->msg);
}
ARRAY_FREE(&c->message_log);
- if (c->prompt_string != NULL)
- xfree(c->prompt_string);
- if (c->prompt_buffer != NULL)
- xfree(c->prompt_buffer);
-
- if (c->cwd != NULL)
- xfree(c->cwd);
+ free(c->prompt_string);
+ free(c->prompt_buffer);
+ free(c->cwd);
environ_free(&c->environ);
@@ -661,12 +656,11 @@ server_client_set_title(struct client *c)
title = status_replace(c, NULL, NULL, NULL, template, time(NULL), 1);
if (c->title == NULL || strcmp(title, c->title) != 0) {
- if (c->title != NULL)
- xfree(c->title);
+ free(c->title);
c->title = xstrdup(title);
tty_set_title(&c->tty, c->title);
}
- xfree(title);
+ free(title);
}
/* Dispatch message from client. */
diff --git a/server-fn.c b/server-fn.c
index ddf7415d..aea0fafe 100644
--- a/server-fn.c
+++ b/server-fn.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
@@ -393,7 +394,7 @@ server_destroy_session_group(struct session *s)
TAILQ_FOREACH(s, &sg->sessions, gentry)
server_destroy_session(s);
TAILQ_REMOVE(&session_groups, sg, entry);
- xfree(sg);
+ free(sg);
}
}
diff --git a/server-window.c b/server-window.c
index 380719b3..72203201 100644
--- a/server-window.c
+++ b/server-window.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <event.h>
+#include <stdlib.h>
#include <unistd.h>
#include "tmux.h"
@@ -211,7 +212,7 @@ server_window_check_content(
return (0);
if ((found = window_pane_search(wp, ptr, NULL)) == NULL)
return (0);
- xfree(found);
+ free(found);
if (options_get_number(&s->options, "bell-on-alert"))
ring_bell(s);
diff --git a/server.c b/server.c
index 0931c3b9..4da0739b 100644
--- a/server.c
+++ b/server.c
@@ -163,7 +163,7 @@ server_start(int lockfd, char *lockfile)
server_client_create(pair[1]);
unlink(lockfile);
- xfree(lockfile);
+ free(lockfile);
close(lockfd);
if (access(SYSTEM_CFG, R_OK) == 0)
@@ -186,7 +186,7 @@ server_start(int lockfd, char *lockfile)
for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) {
cause = ARRAY_ITEM(&cfg_causes, i);
window_copy_add(wp, "%s", cause);
- xfree(cause);
+ free(cause);
}
ARRAY_FREE(&cfg_causes);
}
@@ -276,8 +276,8 @@ server_clean_dead(void)
next_s = RB_NEXT(sessions, &dead_sessions, s);
if (s->references == 0) {
RB_REMOVE(sessions, &dead_sessions, s);
- xfree(s->name);
- xfree(s);
+ free(s->name);
+ free(s);
}
s = next_s;
}
@@ -287,7 +287,7 @@ server_clean_dead(void)
if (c == NULL || c->references != 0)
continue;
ARRAY_SET(&dead_clients, i, NULL);
- xfree(c);
+ free(c);
}
}
diff --git a/session.c b/session.c
index 13be0c71..1f4fb30c 100644
--- a/session.c
+++ b/session.c
@@ -125,8 +125,7 @@ session_create(const char *name, const char *cmd, const char *cwd,
s->name = NULL;
do {
s->idx = next_session++;
- if (s->name != NULL)
- xfree (s->name);
+ free (s->name);
xasprintf(&s->name, "%u", s->idx);
} while (RB_FIND(sessions, &sessions, s) != NULL);
}
@@ -156,8 +155,7 @@ session_destroy(struct session *s)
RB_REMOVE(sessions, &sessions, s);
notify_session_closed(s);
- if (s->tio != NULL)
- xfree(s->tio);
+ free(s->tio);
session_group_remove(s);
environ_free(&s->environ);
@@ -171,7 +169,7 @@ session_destroy(struct session *s)
winlink_remove(&s->windows, wl);
}
- xfree(s->cwd);
+ free(s->cwd);
RB_INSERT(sessions, &dead_sessions, s);
}
@@ -494,7 +492,7 @@ session_group_remove(struct session *s)
TAILQ_REMOVE(&sg->sessions, TAILQ_FIRST(&sg->sessions), gentry);
if (TAILQ_EMPTY(&sg->sessions)) {
TAILQ_REMOVE(&session_groups, sg, entry);
- xfree(sg);
+ free(sg);
}
}
diff --git a/status.c b/status.c
index 9fea2804..e841d804 100644
--- a/status.c
+++ b/status.c
@@ -222,8 +222,7 @@ status_redraw(struct client *c)
/* Calculate the total size needed for the window list. */
wlstart = wloffset = wlwidth = 0;
RB_FOREACH(wl, winlinks, &s->windows) {
- if (wl->status_text != NULL)
- xfree(wl->status_text);
+ free(wl->status_text);
memcpy(&wl->status_cell, &stdgc, sizeof wl->status_cell);
wl->status_text = status_print(c, wl, t, &wl->status_cell);
wl->status_width =
@@ -372,10 +371,8 @@ draw:
screen_write_stop(&ctx);
out:
- if (left != NULL)
- xfree(left);
- if (right != NULL)
- xfree(right);
+ free(left);
+ free(right);
if (grid_compare(c->status.grid, old_status.grid) == 0) {
screen_free(&old_status);
@@ -491,8 +488,7 @@ do_replace:
}
out:
- if (freeptr != NULL)
- xfree(freeptr);
+ free(freeptr);
return;
skip_to:
@@ -572,7 +568,7 @@ status_find_job(struct client *c, char **iptr)
cmd[len++] = **iptr;
}
if (**iptr == '\0') /* no terminating ) */ {
- xfree(cmd);
+ free(cmd);
return (NULL);
}
(*iptr)++; /* skip final ) */
@@ -582,7 +578,7 @@ status_find_job(struct client *c, char **iptr)
so_find.cmd = cmd;
so = RB_FIND(status_out_tree, &c->status_new, &so_find);
if (so != NULL && so->out != NULL) {
- xfree(cmd);
+ free(cmd);
return (so->out);
}
@@ -600,7 +596,7 @@ status_find_job(struct client *c, char **iptr)
/* Lookup in the old tree. */
so_find.cmd = cmd;
so = RB_FIND(status_out_tree, &c->status_old, &so_find);
- xfree(cmd);
+ free(cmd);
if (so != NULL)
return (so->out);
return (NULL);
@@ -618,10 +614,9 @@ status_free_jobs(struct status_out_tree *sotree)
so_next = RB_NEXT(status_out_tree, sotree, so);
RB_REMOVE(status_out_tree, sotree, so);
- if (so->out != NULL)
- xfree(so->out);
- xfree(so->cmd);
- xfree(so);
+ free(so->out);
+ free(so->cmd);
+ free(so);
}
}
@@ -778,7 +773,7 @@ status_message_set(struct client *c, const char *fmt, ...)
limit = ARRAY_LENGTH(&c->message_log) - limit;
for (i = 0; i < limit; i++) {
msg = &ARRAY_FIRST(&c->message_log);
- xfree(msg->msg);
+ free(msg->msg);
ARRAY_REMOVE(&c->message_log, 0);
}
}
@@ -803,7 +798,7 @@ status_message_clear(struct client *c)
if (c->message_string == NULL)
return;
- xfree(c->message_string);
+ free(c->message_string);
c->message_string = NULL;
c->tty.flags &= ~(TTY_NOCURSOR|TTY_FREEZE);
@@ -912,10 +907,10 @@ status_prompt_clear(struct client *c)
if (c->prompt_freefn != NULL && c->prompt_data != NULL)
c->prompt_freefn(c->prompt_data);
- xfree(c->prompt_string);
+ free(c->prompt_string);
c->prompt_string = NULL;
- xfree(c->prompt_buffer);
+ free(c->prompt_buffer);
c->prompt_buffer = NULL;
c->tty.flags &= ~(TTY_NOCURSOR|TTY_FREEZE);
@@ -928,11 +923,11 @@ status_prompt_clear(struct client *c)
void
status_prompt_update(struct client *c, const char *msg, const char *input)
{
- xfree(c->prompt_string);
+ free(c->prompt_string);
c->prompt_string = status_replace(c, NULL, NULL, NULL, msg,
time(NULL), 0);
- xfree(c->prompt_buffer);
+ free(c->prompt_buffer);
c->prompt_buffer = status_replace(c, NULL, NULL, NULL, input,
time(NULL), 0);
c->prompt_index = strlen(c->prompt_buffer);
@@ -1109,7 +1104,7 @@ status_prompt_key(struct client *c, int key)
memcpy(first, s, strlen(s));
c->prompt_index = (first - c->prompt_buffer) + strlen(s);
- xfree(s);
+ free(s);
c->flags |= CLIENT_STATUS;
break;
@@ -1250,7 +1245,7 @@ status_prompt_key(struct client *c, int key)
histstr = status_prompt_up_history(&c->prompt_hindex);
if (histstr == NULL)
break;
- xfree(c->prompt_buffer);
+ free(c->prompt_buffer);
c->prompt_buffer = xstrdup(histstr);
c->prompt_index = strlen(c->prompt_buffer);
c->flags |= CLIENT_STATUS;
@@ -1259,7 +1254,7 @@ status_prompt_key(struct client *c, int key)
histstr = status_prompt_down_history(&c->prompt_hindex);
if (histstr == NULL)
break;
- xfree(c->prompt_buffer);
+ free(c->prompt_buffer);
c->prompt_buffer = xstrdup(histstr);
c->prompt_index = strlen(c->prompt_buffer);
c->flags |= CLIENT_STATUS;
@@ -1383,7 +1378,7 @@ status_prompt_add_history(const char *line)
return;
if (size == PROMPT_HISTORY) {
- xfree(ARRAY_FIRST(&status_prompt_history));
+ free(ARRAY_FIRST(&status_prompt_history));
ARRAY_REMOVE(&status_prompt_history, 0);
}
diff --git a/tmux.c b/tmux.c
index 5d8bbb09..5a773f6d 100644
--- a/tmux.c
+++ b/tmux.c
@@ -76,7 +76,7 @@ logfile(const char *name)
if (debug_level > 0) {
xasprintf(&path, "tmux-%s-%ld.log", name, (long) getpid());
log_open(debug_level, path);
- xfree(path);
+ free(path);
}
}
@@ -255,8 +255,7 @@ main(int argc, char **argv)
flags &= ~IDENTIFY_256COLOURS;
break;
case 'c':
- if (shell_cmd != NULL)
- xfree(shell_cmd);
+ free(shell_cmd);
shell_cmd = xstrdup(optarg);
break;
case 'C':
@@ -269,24 +268,21 @@ main(int argc, char **argv)
printf("%s %s\n", __progname, VERSION);
exit(0);
case 'f':
- if (cfg_file != NULL)
- xfree(cfg_file);
+ free(cfg_file);
cfg_file = xstrdup(optarg);
break;
case 'l':
login_shell = 1;
break;
case 'L':
- if (label != NULL)
- xfree(label);
+ free(label);
label = xstrdup(optarg);
break;
case 'q':
quiet = 1;
break;
case 'S':
- if (path != NULL)
- xfree(path);
+ free(path);
path = xstrdup(optarg);
break;
case 'u':
@@ -366,7 +362,7 @@ main(int argc, char **argv)
}
xasprintf(&cfg_file, "%s/%s", home, DEFAULT_CFG);
if (access(cfg_file, R_OK) != 0 && errno == ENOENT) {
- xfree(cfg_file);
+ free(cfg_file);
cfg_file = NULL;
}
}
@@ -393,11 +389,10 @@ main(int argc, char **argv)
}
}
}
- if (label != NULL)
- xfree(label);
+ free(label);
if (realpath(path, socket_path) == NULL)
strlcpy(socket_path, path, sizeof socket_path);
- xfree(path);
+ free(path);
#ifdef HAVE_SETPROCTITLE
/* Set process title. */
diff --git a/tmux.h b/tmux.h
index 5f3af613..b6da693e 100644
--- a/tmux.h
+++ b/tmux.h
@@ -2221,7 +2221,6 @@ char *xstrdup(const char *);
void *xcalloc(size_t, size_t);
void *xmalloc(size_t);
void *xrealloc(void *, size_t, size_t);
-void xfree(void *);
int printflike2 xasprintf(char **, const char *, ...);
int xvasprintf(char **, const char *, va_list);
int printflike3 xsnprintf(char *, size_t, const char *, ...);
diff --git a/tty-keys.c b/tty-keys.c
index 3469f84f..5caf5168 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -384,7 +384,7 @@ tty_keys_free1(struct tty_key *tk)
tty_keys_free1(tk->left);
if (tk->right != NULL)
tty_keys_free1(tk->right);
- xfree(tk);
+ free(tk);
}
/* Lookup a key in the tree. */
diff --git a/tty-term.c b/tty-term.c
index 64aced0b..0935b363 100644
--- a/tty-term.c
+++ b/tty-term.c
@@ -255,7 +255,7 @@ tty_term_override(struct tty_term *term, const char *overrides)
*ptr++ = '\0';
val = xstrdup(ptr);
if (strunvis(val, ptr) == -1) {
- xfree(val);
+ free(val);
val = xstrdup(ptr);
}
} else if (entstr[strlen(entstr) - 1] == '@') {
@@ -281,7 +281,7 @@ tty_term_override(struct tty_term *term, const char *overrides)
break;
case TTYCODE_STRING:
if (code->type == TTYCODE_STRING)
- xfree(code->value.string);
+ free(code->value.string);
code->value.string = xstrdup(val);
code->type = ent->type;
break;
@@ -299,12 +299,11 @@ tty_term_override(struct tty_term *term, const char *overrides)
}
}
- if (val != NULL)
- xfree(val);
+ free(val);
}
}
- xfree(s);
+ free(s);
}
struct tty_term *
@@ -468,10 +467,10 @@ tty_term_free(struct tty_term *term)
for (i = 0; i < NTTYCODE; i++) {
if (term->codes[i].type == TTYCODE_STRING)
- xfree(term->codes[i].value.string);
+ free(term->codes[i].value.string);
}
- xfree(term->name);
- xfree(term);
+ free(term->name);
+ free(term);
}
int
diff --git a/tty.c b/tty.c
index e6cb3543..6d77e897 100644
--- a/tty.c
+++ b/tty.c
@@ -345,11 +345,11 @@ tty_free(struct tty *tty)
{
tty_close(tty);
- xfree(tty->ccolour);
+ free(tty->ccolour);
if (tty->path != NULL)
- xfree(tty->path);
+ free(tty->path);
if (tty->termname != NULL)
- xfree(tty->termname);
+ free(tty->termname);
}
void
@@ -468,7 +468,7 @@ tty_force_cursor_colour(struct tty *tty, const char *ccolour)
tty_putcode(tty, TTYC_CR);
else
tty_putcode_ptr1(tty, TTYC_CC, ccolour);
- xfree(tty->ccolour);
+ free(tty->ccolour);
tty->ccolour = xstrdup(ccolour);
}
@@ -1099,7 +1099,7 @@ tty_cmd_setselection(struct tty *tty, const struct tty_ctx *ctx)
b64_ntop(ctx->ptr, ctx->num, buf, off);
tty_putcode_ptr2(tty, TTYC_MS, "", buf);
- xfree(buf);
+ free(buf);
}
void
diff --git a/window-choose.c b/window-choose.c
index 62c38b1c..f3857633 100644
--- a/window-choose.c
+++ b/window-choose.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
#include "tmux.h"
@@ -152,12 +153,12 @@ window_choose_free(struct window_pane *wp)
item = &ARRAY_ITEM(&data->list, i);
if (data->freefn != NULL && item->wcd != NULL)
data->freefn(item->wcd);
- xfree(item->name);
+ free(item->name);
}
ARRAY_FREE(&data->list);
screen_free(&data->screen);
- xfree(data);
+ free(data);
}
void
@@ -493,7 +494,7 @@ window_choose_ctx(struct window_choose_data *cdata)
if (cause != NULL) {
*cause = toupper((u_char) *cause);
status_message_set(cdata->client, "%s", cause);
- xfree(cause);
+ free(cause);
}
return;
}
@@ -544,7 +545,7 @@ window_choose_add_window(struct window_pane *wp, struct cmd_ctx *ctx,
xasprintf(&action_data, "%s:%d", s->name, wl->idx);
wcd->command = cmd_template_replace(action, action_data, 1);
- xfree(action_data);
+ free(action_data);
wcd->idx = wl->idx;
wcd->ft_template = xstrdup(template);
diff --git a/window-clock.c b/window-clock.c
index 3f688fe6..0f11543f 100644
--- a/window-clock.c
+++ b/window-clock.c
@@ -18,6 +18,7 @@
#include <sys/types.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
@@ -69,7 +70,7 @@ window_clock_free(struct window_pane *wp)
struct window_clock_mode_data *data = wp->modedata;
screen_free(&data->screen);
- xfree(data);
+ free(data);
}
void
diff --git a/window-copy.c b/window-copy.c
index 7b2a8ae1..35742a6f 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -240,17 +240,16 @@ window_copy_free(struct window_pane *wp)
if (wp->fd != -1)
bufferevent_enable(wp->event, EV_READ|EV_WRITE);
- if (data->searchstr != NULL)
- xfree(data->searchstr);
- xfree(data->inputstr);
+ free(data->searchstr);
+ free(data->inputstr);
if (data->backing != &wp->base) {
screen_free(data->backing);
- xfree(data->backing);
+ free(data->backing);
}
screen_free(&data->screen);
- xfree(data);
+ free(data);
}
void
@@ -1379,7 +1378,7 @@ window_copy_copy_selection(struct window_pane *wp, int idx)
/* Don't bother if no data. */
if (off == 0) {
- xfree(buf);
+ free(buf);
return;
}
off--; /* remove final \n */
diff --git a/window.c b/window.c
index 3140a025..a832f4f3 100644
--- a/window.c
+++ b/window.c
@@ -176,9 +176,8 @@ winlink_remove(struct winlinks *wwl, struct winlink *wl)
struct window *w = wl->window;
RB_REMOVE(winlinks, wwl, wl);
- if (wl->status_text != NULL)
- xfree(wl->status_text);
- xfree(wl);
+ free(wl->status_text);
+ free(wl);
if (w != NULL) {
if (w->references == 0)
@@ -356,16 +355,14 @@ window_destroy(struct window *w)
window_destroy_panes(w);
- if (w->name != NULL)
- xfree(w->name);
- xfree(w);
+ free(w->name);
+ free(w);
}
void
window_set_name(struct window *w, const char *new_name)
{
- if (w->name != NULL)
- xfree(w->name);
+ free(w->name);
w->name = xstrdup(new_name);
notify_window_renamed(w);
}
@@ -668,13 +665,10 @@ window_pane_destroy(struct window_pane *wp)
RB_REMOVE(window_pane_tree, &all_window_panes, wp);
- if (wp->cwd != NULL)
- xfree(wp->cwd);
- if (wp->shell != NULL)
- xfree(wp->shell);
- if (wp->cmd != NULL)
- xfree(wp->cmd);
- xfree(wp);
+ free(wp->cwd);
+ free(wp->shell);
+ free(wp->cmd);
+ free(wp);
}
int
@@ -691,18 +685,15 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell,
close(wp->fd);
}
if (cmd != NULL) {
- if (wp->cmd != NULL)
- xfree(wp->cmd);
+ free(wp->cmd);
wp->cmd = xstrdup(cmd);
}
if (shell != NULL) {
- if (wp->shell != NULL)
- xfree(wp->shell);
+ free(wp->shell);
wp->shell = xstrdup(shell);
}
if (cwd != NULL) {
- if (wp->cwd != NULL)
- xfree(wp->cwd);
+ free(wp->cwd);
wp->cwd = xstrdup(cwd);
}
@@ -1058,10 +1049,10 @@ window_pane_search(struct window_pane *wp, const char *searchstr, u_int *lineno)
*lineno = i;
break;
}
- xfree(line);
+ free(line);
}
- xfree(newsearchstr);
+ free(newsearchstr);
return (msg);
}
diff --git a/xmalloc.c b/xmalloc.c
index 74262ed7..df583e55 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -82,14 +82,6 @@ xrealloc(void *oldptr, size_t nmemb, size_t size)
return (newptr);
}
-void
-xfree(void *ptr)
-{
- if (ptr == NULL)
- fatalx("null pointer");
- free(ptr);
-}
-
int printflike2
xasprintf(char **ret, const char *fmt, ...)
{