On Fri, 2016-07-01 at 16:02 +0100, Emil Velikov wrote: > On 30 June 2016 at 10:19, Andres Gomez <[email protected]> wrote: > > On Wed, 2016-06-29 at 17:46 +0100, Emil Velikov wrote: > > > On 14 June 2016 at 22:36, Andres Gomez <[email protected]> wrote: > > > > For some cases we want to have shaders where we load an exact > > > > bit > > > > pattern into a signed int. > > > > > > > > This fixes the errno-based range validation that was broken > > > > when > > > > the > > > > integer vbo attribute parsing on 32-bit systems was recently > > > > fixed. > > > > > > > Is this because strtol{,l} requires the '-' sign to prefix the > > > negative values, while we feed it a unsigned encoded signed value > > > ? > > > I.e. function throws an error if we give it 0x8000 0000, as it > > > expects > > > -0x7fff ffff. > > > Or is that due to sizeof(long) varying between 32 and 64bit > > > systems ? > > > > I would say, both. > > > > As you say, for negative values we would have to pass the hex > > values > > as -0x7fff ffff while we want to pass the exact bit > > representation: 0x8000 0000 ... > > > > ... and, because of that, in order to allow it without problems in > > 32bit systems, in the previous implementation we were using > > strtoll, > > which was then making useless its internal validation for values > > inside > > the range of long. > > > Any chance if you can use that (or a fraction of it) as commit msg :- > )
Sure! > Side note: the "skip spaces and tabs" comment and the while loop is > copy pasta from other strto*_hex() functions in piglit-util.h. > Strictly speaking the strto* API uses isspace(), while "space and > tabs" refers to isblank(). > > Perhaps it's worth using isspace, perhaps it isn't. I will check. Thanks for the comments! :) -- Br, Andres _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
