term_init(): initialize slave TERM from term_init() argument

This commit is contained in:
Daniel Eklöf 2019-11-01 21:03:08 +01:00
parent 69d62d3cd2
commit 0bd2ddd8ad
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 6 additions and 6 deletions

2
main.c
View file

@ -174,7 +174,7 @@ main(int argc, char *const *argv)
if ((wayl = wayl_init(fdm)) == NULL)
goto out;
if (!as_server && (term = term_init(&conf, fdm, wayl, argc, argv,
if (!as_server && (term = term_init(&conf, fdm, wayl, conf.term, argc, argv,
&term_shutdown_cb, &shutdown_ctx)) == NULL)
goto out;

View file

@ -117,8 +117,8 @@ fdm_client(struct fdm *fdm, int fd, int events, void *data)
assert(client->term == NULL);
client->term = term_init(
server->conf, server->fdm, server->wayl, client->argc, client->argv,
&term_shutdown_handler, client);
server->conf, server->fdm, server->wayl, server->conf->term,
client->argc, client->argv, &term_shutdown_handler, client);
if (client->term == NULL) {
LOG_ERR("failed to instantiate new terminal");

View file

@ -289,7 +289,7 @@ initialize_fonts(struct terminal *term, const struct config *conf)
struct terminal *
term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl,
int argc, char *const *argv,
const char *term_env, int argc, char *const *argv,
void (*shutdown_cb)(void *data, int exit_code), void *shutdown_data)
{
int ptmx = -1;
@ -428,7 +428,7 @@ term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl,
LOG_INFO("cell width=%d, height=%d", term->cell_width, term->cell_height);
/* Start the slave/client */
if ((term->slave = slave_spawn(term->ptmx, argc, argv, conf->term, conf->shell)) == -1)
if ((term->slave = slave_spawn(term->ptmx, argc, argv, term_env, conf->shell)) == -1)
goto err;
/* Initiailze the Wayland window backend */

View file

@ -296,7 +296,7 @@ struct terminal {
struct config;
struct terminal *term_init(
const struct config *conf, struct fdm *fdm, struct wayland *wayl,
int argc, char *const *argv,
const char *term_env, int argc, char *const *argv,
void (*shutdown_cb)(void *data, int exit_code), void *shutdown_data);
bool term_shutdown(struct terminal *term);