On Tue, Aug 21, 2007 at 11:29:15AM -0500, Scott Wood wrote: > David Gibson wrote: > >>+void planetcore_prepare_table(char *table) > >>+{ > >>+ int last_was_newline = 0; > >>+ > >>+ while (*table != 10 || !last_was_newline) { > >>+ if (*table == 10) { > >>+ *table = 0; > >>+ last_was_newline = 1; > >>+ } else { > >>+ last_was_newline = 0; > >>+ } > >>+ > >>+ table++; > >>+ } > > > > > > Hrm.. this loop makes my brain hurt. It's correct as far as I can > > determine what it's supposed to be doing, but I think there's got to > > be a way to make what it's doing a little more obvious. > > How about something like this: > > char last = 0; > > while (1) { > if (*table == '\n') { > *table = 0; > > if (last == *table) > return; > } > > last = *table++; > }
*thinks* How about: do { if (*table == '\n') *table = '\0'; table++; } while (*(table-1) || (*table != '\n')); *table = '\0'; -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev