diff options
author | ftrvxmtrx <ftrvxmtrx@gmail.com> | 2016-10-18 20:27:08 +0200 |
---|---|---|
committer | ftrvxmtrx <ftrvxmtrx@gmail.com> | 2016-10-18 20:27:08 +0200 |
commit | d010b87b1814a3bf4df3f13d0c4131fbd885b270 (patch) | |
tree | 3819edfb602959fd0882ad65c0c9795c1369f99e /sys/src/cmd/samterm | |
parent | e19308ee166dd085f7773621471a5fc589af45d4 (diff) |
sam: corner cases are hard
Diffstat (limited to 'sys/src/cmd/samterm')
-rw-r--r-- | sys/src/cmd/samterm/plan9.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/src/cmd/samterm/plan9.c b/sys/src/cmd/samterm/plan9.c index 0eef27e4e..ab0b8114d 100644 --- a/sys/src/cmd/samterm/plan9.c +++ b/sys/src/cmd/samterm/plan9.c @@ -205,19 +205,18 @@ plumbformat(int i) n += sprint(data+n, "f %s\n", addr); n += sprint(data+n, "c\n"); s = memmove(data+n, m->data, m->ndata); + s--; n += m->ndata; if(data[n-1] != '\n') data[n++] = '\n'; data[n] = 0; replaced = 0; for(;;){ - s = strstr(s, ".\n"); + s = strstr(s, "\n.\n"); if(s == nil) break; + s[1] = ''; s += 2; - if(s[-3] != '\n') - continue; - s[0] = ''; replaced = 1; } n += sprint(data+n, ".\n"); |