gperf 3.1 changes the type of the hash 'len' parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I pushed gperf 3.1 to Rawhide.

This changes the type of one of the parameters of the generated
perfect hash function:

-char *in_word_set (register const char *str, register unsigned int len);
+char *in_word_set (register const char *str, register size_t len);

If you have the function prototyped in another file, then you have to
be careful that the prototype exactly matches the new type.  Otherwise
on 64 bit architectures you'll end up passing an incorrectly sized
'len' argument (unsigned int == 32 bits vs size_t == 64 bits) which
will subtly break in certain circumstances (but on little endian it'll
still work most of the time, making this bug rather insidious).

Using the functions (third) section of the gperf file can avoid
needing to prototype the function elsewhere, since you can drop a
wrapper of your own choosing into the functions section.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux