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++;
}

-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to