summaryrefslogtreecommitdiff
path: root/sys/src/cmd/samterm
diff options
context:
space:
mode:
authorftrvxmtrx <ftrvxmtrx@gmail.com>2016-10-18 20:27:08 +0200
committerftrvxmtrx <ftrvxmtrx@gmail.com>2016-10-18 20:27:08 +0200
commitd010b87b1814a3bf4df3f13d0c4131fbd885b270 (patch)
tree3819edfb602959fd0882ad65c0c9795c1369f99e /sys/src/cmd/samterm
parente19308ee166dd085f7773621471a5fc589af45d4 (diff)
sam: corner cases are hard
Diffstat (limited to 'sys/src/cmd/samterm')
-rw-r--r--sys/src/cmd/samterm/plan9.c7
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");