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

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to