Merge branch 'obsd-master'

pull/451/head
Thomas Adam 2016-07-15 12:01:10 +01:00
commit a24260bb23
5 changed files with 36 additions and 14 deletions

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -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
View File

@ -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);

View File

@ -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);