=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/format.c,v retrieving revision 1.156 retrieving revision 1.157 diff -c -r1.156 -r1.157 *** src/usr.bin/tmux/format.c 2018/05/29 09:10:30 1.156 --- src/usr.bin/tmux/format.c 2018/06/27 17:36:10 1.157 *************** *** 1,4 **** ! /* $OpenBSD: format.c,v 1.156 2018/05/29 09:10:30 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: format.c,v 1.157 2018/06/27 17:36:10 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott *************** *** 19,24 **** --- 19,25 ---- #include #include + #include #include #include #include *************** *** 891,897 **** char **buf, size_t *len, size_t *off) { struct window_pane *wp = ft->wp; ! char *copy, *copy0, *endptr, *ptr, *found, *new; char *value, *from = NULL, *to = NULL, *left, *right; size_t valuelen, newlen, fromlen, tolen, used; long limit = 0; --- 892,898 ---- char **buf, size_t *len, size_t *off) { struct window_pane *wp = ft->wp; ! char *copy, *copy0, *endptr, *ptr, *found, *new, sep; char *value, *from = NULL, *to = NULL, *left, *right; size_t valuelen, newlen, fromlen, tolen, used; long limit = 0; *************** *** 975,994 **** copy += 2; break; case 's': ! if (copy[1] != '/') break; from = copy + 2; ! for (copy = from; *copy != '\0' && *copy != '/'; copy++) /* nothing */; ! if (copy[0] != '/' || copy == from) { copy = copy0; break; } copy[0] = '\0'; to = copy + 1; ! for (copy = to; *copy != '\0' && *copy != '/'; copy++) /* nothing */; ! if (copy[0] != '/' || copy[1] != ':') { copy = copy0; break; } --- 976,996 ---- copy += 2; break; case 's': ! sep = copy[1]; ! if (sep == ':' || !ispunct((u_char)sep)) break; from = copy + 2; ! for (copy = from; *copy != '\0' && *copy != sep; copy++) /* nothing */; ! if (copy[0] != sep || copy == from) { copy = copy0; break; } copy[0] = '\0'; to = copy + 1; ! for (copy = to; *copy != '\0' && *copy != sep; copy++) /* nothing */; ! if (copy[0] != sep || copy[1] != ':') { copy = copy0; break; }