On 02/10/14 19:31, Dave Chinner wrote:
On Mon, Feb 10, 2014 at 05:09:12PM -0600, Mark Tinguely wrote:
<delete>
> + * Values larger than 64 bits are array of hex digits that
> + * already in the desired ordering (example UUID).
> */
> - *value = strtoll(arg, NULL, 0);
> + if (bit_length > 64)
> + return buf;
I don't understand why you added this - how can we have input left
that we need to parse after the above loop? @bytes will always be<=
0 at this point in time, which means we have no space in the bit
field left to put values into....
The comment explains the return.
If the input bit_length is bigger than 64 bit then it is an array of hex
numbers (for example UUID can be entered this way).
buf is the beginning of the allocated array before rbuf pointer put
nibbles into it. So this returns the beginning of the hex bytes.
If this return is not taken then it is 64 bits or less and is some kind
of integer. The integer will get its fields fixed and converted to big
endian....
--Mark.
_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs