In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/c7c8b664ff1d92154d9e97e6e8ea84f7cc24991a?hp=ae209c08ded4e79538972a4ae3d5103a05678ba9>
- Log ----------------------------------------------------------------- commit c7c8b664ff1d92154d9e97e6e8ea84f7cc24991a Author: Niko Tyni <[email protected]> Date: Sun Oct 19 23:21:30 2008 +0300 Fix h2xs enum handling with C++ comments Contrary to the comment in the code, h2xs mishandles enums that contain C++ style comments. An example of a failing header: enum { A = -1, // negative one // with more comments B = -2, // negative two C = -3 // negative two }; which generates exported constants for 'A' and 'negative'. The patch is slightly modified from the one by Daniel Burr in http://bugs.debian.org/320286 ----------------------------------------------------------------------- Summary of changes: utils/h2xs.PL | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/utils/h2xs.PL b/utils/h2xs.PL index c774d62..4bb7897 100644 --- a/utils/h2xs.PL +++ b/utils/h2xs.PL @@ -901,6 +901,7 @@ if( @path_h ){ # Remove C and C++ comments $src =~ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#$2#gs; + $src =~ s#//.*$##gm; while ($src =~ /\benum\s*([\w_]*)\s*\{\s([^}]+)\}/gsc) { my ($enum_name, $enum_body) = ($1, $2); -- Perl5 Master Repository
