mirror of
https://github.com/tmux/tmux.git
synced 2024-11-18 02:18:53 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
a24260bb23
14
environ.c
14
environ.c
@ -203,3 +203,17 @@ environ_push(struct environ *env)
|
||||
setenv(envent->name, envent->value, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Log the environment. */
|
||||
void
|
||||
environ_log(struct environ *env, const char *prefix)
|
||||
{
|
||||
struct environ_entry *envent;
|
||||
|
||||
RB_FOREACH(envent, environ, env) {
|
||||
if (envent->value != NULL && *envent->name != '\0') {
|
||||
log_debug("%s%s=%s", prefix, envent->name,
|
||||
envent->value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,14 +23,17 @@
|
||||
|
||||
#include "tmux.h"
|
||||
|
||||
struct layout_cell *layout_find_bottomright(struct layout_cell *);
|
||||
u_short layout_checksum(const char *);
|
||||
int layout_append(struct layout_cell *, char *, size_t);
|
||||
struct layout_cell *layout_construct(struct layout_cell *, const char **);
|
||||
void layout_assign(struct window_pane **, struct layout_cell *);
|
||||
static struct layout_cell *layout_find_bottomright(struct layout_cell *);
|
||||
static u_short layout_checksum(const char *);
|
||||
static int layout_append(struct layout_cell *, char *,
|
||||
size_t);
|
||||
static struct layout_cell *layout_construct(struct layout_cell *,
|
||||
const char **);
|
||||
static void layout_assign(struct window_pane **,
|
||||
struct layout_cell *);
|
||||
|
||||
/* Find the bottom-right cell. */
|
||||
struct layout_cell *
|
||||
static struct layout_cell *
|
||||
layout_find_bottomright(struct layout_cell *lc)
|
||||
{
|
||||
if (lc->type == LAYOUT_WINDOWPANE)
|
||||
@ -40,7 +43,7 @@ layout_find_bottomright(struct layout_cell *lc)
|
||||
}
|
||||
|
||||
/* Calculate layout checksum. */
|
||||
u_short
|
||||
static u_short
|
||||
layout_checksum(const char *layout)
|
||||
{
|
||||
u_short csum;
|
||||
@ -63,12 +66,12 @@ layout_dump(struct layout_cell *root)
|
||||
if (layout_append(root, layout, sizeof layout) != 0)
|
||||
return (NULL);
|
||||
|
||||
xasprintf(&out, "%04x,%s", layout_checksum(layout), layout);
|
||||
xasprintf(&out, "%04hx,%s", layout_checksum(layout), layout);
|
||||
return (out);
|
||||
}
|
||||
|
||||
/* Append information for a single cell. */
|
||||
int
|
||||
static int
|
||||
layout_append(struct layout_cell *lc, char *buf, size_t len)
|
||||
{
|
||||
struct layout_cell *lcchild;
|
||||
@ -182,7 +185,7 @@ fail:
|
||||
}
|
||||
|
||||
/* Assign panes into cells. */
|
||||
void
|
||||
static void
|
||||
layout_assign(struct window_pane **wp, struct layout_cell *lc)
|
||||
{
|
||||
struct layout_cell *lcchild;
|
||||
@ -201,7 +204,7 @@ layout_assign(struct window_pane **wp, struct layout_cell *lc)
|
||||
}
|
||||
|
||||
/* Construct a cell from all or part of a layout tree. */
|
||||
struct layout_cell *
|
||||
static struct layout_cell *
|
||||
layout_construct(struct layout_cell *lcparent, const char **layout)
|
||||
{
|
||||
struct layout_cell *lc, *lcchild;
|
||||
|
9
names.c
9
names.c
@ -73,12 +73,15 @@ check_window_name(struct window *w)
|
||||
if (!event_initialized(&w->name_event))
|
||||
evtimer_set(&w->name_event, name_time_callback, w);
|
||||
if (!evtimer_pending(&w->name_event, NULL)) {
|
||||
log_debug("@%u name timer queued (%d left)", w->id, left);
|
||||
log_debug("@%u name timer queued (%d left)", w->id,
|
||||
left);
|
||||
timerclear(&next);
|
||||
next.tv_usec = left;
|
||||
event_add(&w->name_event, &next);
|
||||
} else
|
||||
log_debug("@%u name timer already queued (%d left)", w->id, left);
|
||||
} else {
|
||||
log_debug("@%u name timer already queued (%d left)",
|
||||
w->id, left);
|
||||
}
|
||||
return;
|
||||
}
|
||||
memcpy(&w->name_time, &tv, sizeof w->name_time);
|
||||
|
1
tmux.h
1
tmux.h
@ -1695,6 +1695,7 @@ void environ_put(struct environ *, const char *);
|
||||
void environ_unset(struct environ *, const char *);
|
||||
void environ_update(const char *, struct environ *, struct environ *);
|
||||
void environ_push(struct environ *);
|
||||
void environ_log(struct environ *, const char *);
|
||||
|
||||
/* tty.c */
|
||||
void tty_create_log(void);
|
||||
|
1
window.c
1
window.c
@ -848,6 +848,7 @@ window_pane_spawn(struct window_pane *wp, int argc, char **argv,
|
||||
log_debug("spawn: %s -- %s", wp->shell, cmd);
|
||||
for (i = 0; i < wp->argc; i++)
|
||||
log_debug("spawn: argv[%d] = %s", i, wp->argv[i]);
|
||||
environ_log(env, "spawn: ");
|
||||
|
||||
memset(&ws, 0, sizeof ws);
|
||||
ws.ws_col = screen_size_x(&wp->base);
|
||||
|
Loading…
Reference in New Issue
Block a user