From edf420f3479a3abaea92699afe16ef6079fcc0ac Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Thu, 14 Jun 2001 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2001-06-14 --- bitsy/devflash.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bitsy/devflash.c b/bitsy/devflash.c index 81fe4b499a0dd45ec1638166bfdfecef048b270f..69cd5437e9f8d6a798d42a711f9f1a8ba35350fe 100644 --- a/bitsy/devflash.c +++ b/bitsy/devflash.c @@ -153,6 +153,7 @@ typedef struct FPart FPart; struct FPart { char *name; + char *ctlname; ulong start; ulong end; }; @@ -166,7 +167,6 @@ static int gen(Chan *c, char*, Dirtab*, int, int i, Dir *dp) { Qid q; - char buf[KNAMELEN]; FPart *fp; q.vers = 0; @@ -208,10 +208,9 @@ gen(Chan *c, char*, Dirtab*, int, int i, Dir *dp) q.type = QTFILE; devdir(c, q, fp->name, fp->end-fp->start, eve, 0660, dp); } else { - snprint(buf, sizeof(buf), "%sctl", fp->name); q.path = FQID(i>>1, Qfctl); q.type = QTFILE; - devdir(c, q, buf, 0, eve, 0660, dp); + devdir(c, q, fp->ctlname, 0, eve, 0660, dp); } break; } @@ -235,6 +234,7 @@ static void addpart(FPart *fp, char *name, ulong start, ulong end) { int i; + char ctlname[64]; if(fp == nil){ if(start >= flash.size || end > flash.size) @@ -260,6 +260,8 @@ addpart(FPart *fp, char *name, ulong start, ulong end) error("no more partitions"); fp = &part[i]; kstrdup(&fp->name, name); + snprint(ctlname, sizeof ctlname, "%sctl", name); + kstrdup(&fp->ctlname, ctlname); fp->start = start; fp->end = end; } @@ -267,11 +269,14 @@ addpart(FPart *fp, char *name, ulong start, ulong end) static void rempart(FPart *fp) { - char *p; + char *p, *cp; p = fp->name; fp->name = nil; + cp = fp->ctlname; + fp->ctlname = nil; free(p); + free(cp); } void