2012/2/28 Paul Eggert > > There is something wrong around lib/strftime.c:946 > > if (negative_number) > > u_number_value = - u_number_value; > > > > u_number_value being unsigned, this is wrong. > > I don't see anything wrong there. The value of > -X is well-defined if X is unsigned int; it's > equivalent to ~X + 1. Can you supply a test case > illustrating the actual bug? > > Please bear in mind that the code is already > tested to LP64 hosts. Any bug related to this > particular code would also be a bug on LP64 hosts, > no? So, it's not likely that any bug here is specific > to Windows 64. If there is a bug, it should be > describable and fixable independently of Windows 64. I don't see things that way. Some things that would pass on LP64 because ints are 64 bits may turn into a crash because of sign extension on Windows 64 promoting 32bits ints to 64bits ints. So I'm definitely more confident when ints are used without any abuse of any kind. I don't see the point with using an unsigned int to negate it. -- Fabrice