Because mathematically, differences are always signed!
2 - 1 == 1
1 - 2 == -1
Doesn't matter what the size, or sign-ability of the LHS
operands are. C, however, absolutely stinks at mathematical
relations that change the nature of the calculation. Precision
changing (like integer multiplication and division), sign invention
(like subtraction), etc.
You can work with it, but you must understand what is going on.
-- Jim
From: busybox [mailto:[email protected]] On Behalf Of Guillermo
Rodriguez Garcia
Sent: Tuesday, January 27, 2015 2:10 PM
To: Tim Hentenaar
Cc: busybox; Rich Felker
Subject: Re: [PATCH] udhcpd: Handle auto_time timeout overflow
El martes, 27 de enero de 2015, Tim Hentenaar
<[email protected]<mailto:[email protected]>> escribió:
Perhaps it wrongly assumes that since the operands for the subtraction
are 32-bit unsigned integers, that the result will be also unsigned.
Uhm, why would that be a wrong assumption ?
Guillermo
--
Guillermo Rodriguez Garcia
[email protected]<mailto:[email protected]>
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox