Messages in this thread | | | Date | Tue, 21 Jun 2005 00:10:41 +0200 | From | Pavel Machek <> | Subject | Re: [patch 2/2] kernel/power/disk.c string fix and if-less iterator |
| |
Hi!
> The attached patch: > > o Fixes kernel/power/disk.c string declared as 'char *p = "...";' to be > declared as 'char p[] = "...";', as pointed by Jeff Garzik.
? Why was char *p ... wrong? Because you could not do sizeof() later?
> o Replaces: > i++: > if (i > 3) i = 0; > > By: > i = (i + 1) % (sizeof(p) - 1); > > Which is if-less, and the adjust value is evaluated by the compiler in > compile-time in case the string related to this loop is modified.
Well, why not... Pavel
> Index: quilt/kernel/power/disk.c > =================================================================== > --- quilt.orig/kernel/power/disk.c > +++ quilt/kernel/power/disk.c > @@ -91,15 +91,13 @@ static void free_some_memory(void) > unsigned int i = 0; > unsigned int tmp; > unsigned long pages = 0; > - char *p = "-\\|/"; > + char p[] = "-\\|/"; > > printk("Freeing memory... "); > while ((tmp = shrink_all_memory(10000))) { > pages += tmp; > printk("\b%c", p[i]); > - i++; > - if (i > 3) > - i = 0; > + i = (i + 1) % (sizeof(p) - 1); > } > printk("\bdone (%li pages freed)\n", pages); > }
-- teflon -- maybe it is a trademark, but it should not be. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |