=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -r1.82 -r1.83 --- src/usr.bin/tmux/server.c 2010/02/06 17:15:33 1.82 +++ src/usr.bin/tmux/server.c 2010/02/06 23:22:27 1.83 @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.82 2010/02/06 17:15:33 nicm Exp $ */ +/* $OpenBSD: server.c,v 1.83 2010/02/06 23:22:27 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -115,7 +115,7 @@ { struct window_pane *wp; int pair[2], retval; - char rpathbuf[MAXPATHLEN]; + char rpathbuf[MAXPATHLEN], *cause; struct timeval tv; u_int i; @@ -169,27 +169,27 @@ retval = 0; if (access(SYSTEM_CFG, R_OK) == 0) - load_cfg(SYSTEM_CFG, NULL, &cfg_ncauses, &cfg_causes); + load_cfg(SYSTEM_CFG, NULL, &cfg_causes); else if (errno != ENOENT) { - cfg_add_cause(&cfg_ncauses, &cfg_causes, - "%s: %s", strerror(errno), SYSTEM_CFG); + cfg_add_cause( + &cfg_causes, "%s: %s", strerror(errno), SYSTEM_CFG); } if (cfg_file != NULL) - load_cfg(cfg_file, NULL, &cfg_ncauses, &cfg_causes); + load_cfg(cfg_file, NULL, &cfg_causes); /* * If there is a session already, put the current window and pane into * more mode. */ - if (!ARRAY_EMPTY(&sessions) && cfg_ncauses != 0) { + if (!ARRAY_EMPTY(&sessions) && !ARRAY_EMPTY(&cfg_causes)) { wp = ARRAY_FIRST(&sessions)->curw->window->active; window_pane_set_mode(wp, &window_more_mode); - for (i = 0; i < cfg_ncauses; i++) { - window_more_add(wp, "%s", cfg_causes[i]); - xfree(cfg_causes[i]); + for (i = 0; i < ARRAY_LENGTH(&cfg_causes); i++) { + cause = ARRAY_ITEM(&cfg_causes, i); + window_more_add(wp, "%s", cause); + xfree(cause); } - xfree(cfg_causes); - cfg_ncauses = 0; + ARRAY_FREE(&cfg_causes); } cfg_finished = 1;