[PATCH 09/11] staging: comedi: comedi_buf: clarify comedi_buf_read_alloc()

H Hartley Sweeten hartleys at visionengravers.com
Wed Jan 2 19:12:15 UTC 2013


On Wednesday, January 02, 2013 12:03 PM, Ian Abbott wrote:
> On 02/01/2013 18:10, H Hartley Sweeten wrote:
>> Will the munge_count always be larger, or equal, to the buf_read_alloc_count?
>> The original code had the (int) cast so I wasn't sure. If so, then yes the variable
>> should be an unsigned int.
>
> Well the value it is being compared to (nbytes) is an unsigned int, so 
> the int value (available) will be converted to unsigned int before the 
> comparison anyway.  So making 'available' an unsigned int to begin with 
> shouldn't break anything that isn't already broke!

Not so. Simple test:


#include <stdio.h>
#include <stdlib.h>

int main(int argv, char *argc[])
{
        unsigned int var1;
        int var2;

        var1 = 1000;
        if (99 > var1)
                printf("1. 99 > %d\n", var1);

        var1 = -40;
        if (99 > var1)
                printf("2. 99 > %d\n", var1);

        var2 = 1000;
        if (99 > var2)
                printf("3. 99 > %d\n", var2);

        var2 = -40;
        if (99 > var2)
                printf("4. 99 > %d\n", var2);

        return 0;
}

$ ./a.out 
4. 99 > -40

Regards,
Hartley




More information about the devel mailing list