diff options
author | rsc <devnull@localhost> | 2005-01-30 16:27:45 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-01-30 16:27:45 +0000 |
commit | efe12411090ddcb45f524d6b0624ec4493d65175 (patch) | |
tree | d456ee063f7fe3625c7c5f5fc9a95ec1e931a790 /src/cmd/9term/9term.c | |
parent | 0b22e9bd85861f6a3c8f0635bd4422daa84343eb (diff) | |
download | plan9port-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.c | 11 |
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; |