aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/9term/9term.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-30 16:27:45 +0000
committerrsc <devnull@localhost>2005-01-30 16:27:45 +0000
commitefe12411090ddcb45f524d6b0624ec4493d65175 (patch)
treed456ee063f7fe3625c7c5f5fc9a95ec1e931a790 /src/cmd/9term/9term.c
parent0b22e9bd85861f6a3c8f0635bd4422daa84343eb (diff)
downloadplan9port-efe12411090ddcb45f524d6b0624ec4493d65175.tar.gz
plan9port-efe12411090ddcb45f524d6b0624ec4493d65175.tar.bz2
plan9port-efe12411090ddcb45f524d6b0624ec4493d65175.zip
handle sysnames in labels
Diffstat (limited to 'src/cmd/9term/9term.c')
-rw-r--r--src/cmd/9term/9term.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c
index 31c9f289..f22bebc5 100644
--- a/src/cmd/9term/9term.c
+++ b/src/cmd/9term/9term.c
@@ -1834,7 +1834,8 @@ int
label(Rune *sr, int n)
{
Rune *sl, *el, *er, *r;
-
+ char *p;
+
er = sr+n;
for(r=er-1; r>=sr; r--)
if(*r == '\007')
@@ -1854,6 +1855,14 @@ label(Rune *sr, int n)
snprint(wdir, sizeof wdir, "%.*S", (el-1)-(sl+3), sl+3);
drawsetlabel(wdir);
+ /* remove trailing /-sysname if present */
+ p = strrchr(wdir, '/');
+ if(p && *(p+1) == '-'){
+ if(p == wdir)
+ p++;
+ *p = 0;
+ }
+
runemove(sl, el, er-el);
n -= (el-sl);
return n;