From: Kevin Corry Striped: Use an EMIT macro in the status function. --- 25-akpm/drivers/md/dm-stripe.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff -puN drivers/md/dm-stripe.c~dm-use-an-emit-macro drivers/md/dm-stripe.c --- 25/drivers/md/dm-stripe.c~dm-use-an-emit-macro Mon Apr 12 13:48:57 2004 +++ 25-akpm/drivers/md/dm-stripe.c Mon Apr 12 13:48:57 2004 @@ -187,24 +187,24 @@ static int stripe_status(struct dm_targe status_type_t type, char *result, unsigned int maxlen) { struct stripe_c *sc = (struct stripe_c *) ti->private; - int offset; + unsigned int sz = 0; unsigned int i; char buffer[32]; +#define EMIT(x...) sz += ((sz >= maxlen) ? \ + 0 : scnprintf(result + sz, maxlen - sz, x)) + switch (type) { case STATUSTYPE_INFO: result[0] = '\0'; break; case STATUSTYPE_TABLE: - offset = scnprintf(result, maxlen, "%d " SECTOR_FORMAT, - sc->stripes, sc->chunk_mask + 1); + EMIT("%d " SECTOR_FORMAT, sc->stripes, sc->chunk_mask + 1); for (i = 0; i < sc->stripes; i++) { format_dev_t(buffer, sc->stripe[i].dev->bdev->bd_dev); - offset += - scnprintf(result + offset, maxlen - offset, - " %s " SECTOR_FORMAT, buffer, - sc->stripe[i].physical_start); + EMIT(" %s " SECTOR_FORMAT, buffer, + sc->stripe[i].physical_start); } break; } _