=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.83 retrieving revision 1.84 diff -u -r1.83 -r1.84 --- src/usr.bin/tmux/window.c 2012/08/11 06:45:33 1.83 +++ src/usr.bin/tmux/window.c 2012/08/21 10:00:33 1.84 @@ -1,4 +1,4 @@ -/* $OpenBSD: window.c,v 1.83 2012/08/11 06:45:33 nicm Exp $ */ +/* $OpenBSD: window.c,v 1.84 2012/08/21 10:00:33 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -182,13 +182,8 @@ free(wl->status_text); free(wl); - if (w != NULL) { - if (w->references == 0) - fatal("bad reference count"); - w->references--; - if (w->references == 0) - window_destroy(w); - } + if (w != NULL) + window_remove_ref(w); } struct winlink * @@ -360,6 +355,16 @@ free(w->name); free(w); +} + +void +window_remove_ref(struct window *w) +{ + if (w->references == 0) + fatal("bad reference count"); + w->references--; + if (w->references == 0) + window_destroy(w); } void