itacme, sam, samterm: remove weird switch usage - plan9port - [fork] Plan 9 from user space Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/plan9port URL:git://src.adamsgaard.dk/plan9port mx1.adamsgaard.dk 70 1Log /src/plan9port/log.gph mx1.adamsgaard.dk 70 1Files /src/plan9port/files.gph mx1.adamsgaard.dk 70 1Refs /src/plan9port/refs.gph mx1.adamsgaard.dk 70 1README /src/plan9port/file/README.md.gph mx1.adamsgaard.dk 70 1LICENSE /src/plan9port/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit 1c845e0bd5ff897dc5e90f2c24db4ecd81a8f60c /src/plan9port/commit/1c845e0bd5ff897dc5e90f2c24db4ecd81a8f60c.gph mx1.adamsgaard.dk 70 1parent 0a513e65607223d11ba94003256b13ef5779e7e8 /src/plan9port/commit/0a513e65607223d11ba94003256b13ef5779e7e8.gph mx1.adamsgaard.dk 70 hAuthor: Russ Cox URL:mailto:rsc@swtch.com mx1.adamsgaard.dk 70 iDate: Tue, 5 Jan 2021 23:38:09 -0500 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iacme, sam, samterm: remove weird switch usage Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iFor whatever reason all three of these programs Err mx1.adamsgaard.dk 70 icontain switches like: Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i switch(x) { Err mx1.adamsgaard.dk 70 i case 1: Err mx1.adamsgaard.dk 70 i if(cond) Err mx1.adamsgaard.dk 70 i case 2: Err mx1.adamsgaard.dk 70 i f(); Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iLike Duff's device, this is legal C but more obscure Err mx1.adamsgaard.dk 70 itthan it really needs to be. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iThis commit assumes those are intended as written Err mx1.adamsgaard.dk 70 iand simply writes them more clearly. I did consider Err mx1.adamsgaard.dk 70 itthat maybe they are mistakes, but in the case of sam/regexp.c, Err mx1.adamsgaard.dk 70 imy rewrite in this commit matches the acme/regx.c that Err mx1.adamsgaard.dk 70 ihas been in plan9port since I added acme in 2003. Err mx1.adamsgaard.dk 70 i(I didn't bother to dig up the old Plan 9 releases.) Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iAssuming acme/regx.c has been correct for the past Err mx1.adamsgaard.dk 70 ittwo decades, this commit should be correct too. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M src/cmd/acme/edit.c | 6 ++++-- Err mx1.adamsgaard.dk 70 i M src/cmd/sam/cmd.c | 6 ++++-- Err mx1.adamsgaard.dk 70 i M src/cmd/sam/regexp.c | 2 +- Err mx1.adamsgaard.dk 70 i M src/cmd/samterm/flayer.c | 2 +- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i4 files changed, 10 insertions(+), 6 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/acme/edit.c b/src/cmd/acme/edit.c /src/plan9port/file/src/cmd/acme/edit.c.gph mx1.adamsgaard.dk 70 it@@ -635,9 +635,11 @@ simpleaddr(void) Err mx1.adamsgaard.dk 70 i case '.': Err mx1.adamsgaard.dk 70 i case '$': Err mx1.adamsgaard.dk 70 i case '\'': Err mx1.adamsgaard.dk 70 i- if(addr.type!='"') Err mx1.adamsgaard.dk 70 i+ if(addr.type=='"') Err mx1.adamsgaard.dk 70 i+ break; Err mx1.adamsgaard.dk 70 i+ /* fall through */ Err mx1.adamsgaard.dk 70 i case '"': Err mx1.adamsgaard.dk 70 i- editerror("bad address syntax"); Err mx1.adamsgaard.dk 70 i+ editerror("bad address syntax"); Err mx1.adamsgaard.dk 70 i break; Err mx1.adamsgaard.dk 70 i case 'l': Err mx1.adamsgaard.dk 70 i case '#': Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/sam/cmd.c b/src/cmd/sam/cmd.c /src/plan9port/file/src/cmd/sam/cmd.c.gph mx1.adamsgaard.dk 70 it@@ -559,9 +559,11 @@ simpleaddr(void) Err mx1.adamsgaard.dk 70 i case '.': Err mx1.adamsgaard.dk 70 i case '$': Err mx1.adamsgaard.dk 70 i case '\'': Err mx1.adamsgaard.dk 70 i- if(addr.type!='"') Err mx1.adamsgaard.dk 70 i+ if(addr.type=='"') Err mx1.adamsgaard.dk 70 i+ break; Err mx1.adamsgaard.dk 70 i+ /* fall through */ Err mx1.adamsgaard.dk 70 i case '"': Err mx1.adamsgaard.dk 70 i- error(Eaddress); Err mx1.adamsgaard.dk 70 i+ error(Eaddress); Err mx1.adamsgaard.dk 70 i break; Err mx1.adamsgaard.dk 70 i case 'l': Err mx1.adamsgaard.dk 70 i case '#': Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/sam/regexp.c b/src/cmd/sam/regexp.c /src/plan9port/file/src/cmd/sam/regexp.c.gph mx1.adamsgaard.dk 70 it@@ -700,11 +700,11 @@ bexecute(File *f, Posn startp) Err mx1.adamsgaard.dk 70 i break; Err mx1.adamsgaard.dk 70 i case 1: /* expired; wrap to end */ Err mx1.adamsgaard.dk 70 i if(sel.p[0].p1>=0) Err mx1.adamsgaard.dk 70 i- case 3: Err mx1.adamsgaard.dk 70 i goto Return; Err mx1.adamsgaard.dk 70 i list[0][0].inst = list[1][0].inst = 0; Err mx1.adamsgaard.dk 70 i p = f->b.nc; Err mx1.adamsgaard.dk 70 i goto doloop; Err mx1.adamsgaard.dk 70 i+ case 3: Err mx1.adamsgaard.dk 70 i default: Err mx1.adamsgaard.dk 70 i goto Return; Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/samterm/flayer.c b/src/cmd/samterm/flayer.c /src/plan9port/file/src/cmd/samterm/flayer.c.gph mx1.adamsgaard.dk 70 it@@ -169,8 +169,8 @@ newvisibilities(int redraw) Err mx1.adamsgaard.dk 70 i break; Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i case V(Some, Some): Err mx1.adamsgaard.dk 70 i- if(l->f.b==0 && redraw) Err mx1.adamsgaard.dk 70 i case V(None, Some): Err mx1.adamsgaard.dk 70 i+ if(ov == None || (l->f.b==0 && redraw)) Err mx1.adamsgaard.dk 70 i flprepare(l); Err mx1.adamsgaard.dk 70 i if(l->f.b && redraw){ Err mx1.adamsgaard.dk 70 i flrefresh(l, l->entire, 0); Err mx1.adamsgaard.dk 70 .