Re: [PATCH] iio: core: Avoid double minus in sysfs output

From: Jonathan Cameron
Date: Fri Jul 19 2013 - 17:07:03 EST


On 07/19/2013 07:15 AM, Oleksandr Kravchenko wrote:
> On Thu, Jul 18, 2013 at 7:24 PM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote:
>> On 07/18/2013 05:47 PM, Oleksandr Kravchenko wrote:
>>> From: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx>
>>>
>>> This patch fixes the issue with double minus in output when
>>> reading channels from sysfs for IIO_VAL_INT_PLUS_MICRO and
>>> IIO_VAL_INT_PLUS_NANO cases. Until this patch if val and val2
>>> both are negatives output string contains "--" before
>>> digits. It is result of "-%d..." in sprintf() format.
>>>
>>
>> Hm, this might be a bug in a driver that is triggering this. The idea is
>> that val2 is only allowed to be negative if val is 0.
>>
>> - Lars
>>
> If I calculate val and val2 in next way:
> *val = adc / 1000000;
> *val2 = adc % 1000000;
> both val and val2 could by negative. Do I have to check it in my driver?
>
I guess it is will happen occasionally. In the c89 standard, module for a negative
is implementation specific. Anyone know if we can assume this will work in all cases
within the kernel?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/