From d010b87b1814a3bf4df3f13d0c4131fbd885b270 Mon Sep 17 00:00:00 2001 From: ftrvxmtrx Date: Tue, 18 Oct 2016 20:27:08 +0200 Subject: sam: corner cases are hard --- sys/src/cmd/samterm/plan9.c | 7 +++---- 1 file 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"); -- cgit v1.2.3