From e3736b888701c79c9abb3de3fd28fe6ed5d3b168 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 19 Nov 2017 17:17:04 +0100 Subject: kernel: make isaconfig() consistent, not inplace tokenizing the conf string --- sys/src/9/mtx/main.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'sys/src/9/mtx') diff --git a/sys/src/9/mtx/main.c b/sys/src/9/mtx/main.c index 4cc7724d9..6eb0fd7bd 100644 --- a/sys/src/9/mtx/main.c +++ b/sys/src/9/mtx/main.c @@ -360,14 +360,19 @@ getcfields(char* lp, char** fields, int n, char* sep) int isaconfig(char *class, int ctlrno, ISAConf *isa) { + char cc[32], *p, *x; int i; - char cc[KNAMELEN], *p; - - sprint(cc, "%s%d", class, ctlrno); + snprint(cc, sizeof cc, "%s%d", class, ctlrno); p = getconf(cc); - if(p == 0) + if(p == nil) return 0; + + x = nil; + kstrdup(&x, p); + p = x; + + isa->type = ""; isa->nopt = tokenize(p, isa->opt, NISAOPT); for(i = 0; i < isa->nopt; i++){ p = isa->opt[i]; -- cgit v1.2.3