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:busybox-boun...@busybox.net] 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 <t...@hentenaar.com<mailto:t...@hentenaar.com>> 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 guille.rodrig...@gmail.com<mailto:guille.rodrig...@gmail.com>
_______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox