Avoid dogfood problems when an empty string accidentally ends up
Nicholas Clark [Thu, 13 Jan 2005 21:54:21 +0000 (21:54 +0000)]
as a constant name. [They don't work in qw(), strangely]

p4raw-id: //depot/perl@23792

lib/ExtUtils/Constant.pm

index ab18c72..1bd8717 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::Constant;
 use vars qw (@ISA $VERSION %XS_Constant %XS_TypeSet @EXPORT_OK %EXPORT_TAGS);
-$VERSION = 0.14_01;
+$VERSION = 0.15;
 
 =head1 NAME
 
@@ -286,7 +286,8 @@ sub memEQ_clause {
   my $len = length $name;
 
   if ($len < 2) {
-    return $indent . "{\n" if (defined $checked_at and $checked_at == 0);
+    return $indent . "{\n"
+       if (defined $checked_at and $checked_at == 0) or $len == 0;
     # We didn't switch, drop through to the code for the 2 character string
     $checked_at = 1;
   }
@@ -683,6 +684,7 @@ sub dump_names {
     $used_types{$type}++;
     if ($type eq $default_type
         # grr 5.6.1
+        and length $_->{name}
         and length $_->{name} == ($_->{name} =~ tr/A-Za-z0-9_//)
         and !defined ($_->{macro}) and !defined ($_->{value})
         and !defined ($_->{default}) and !defined ($_->{pre})