If some of the constants are prefixes of others,
Jarkko Hietaniemi [Thu, 26 Apr 2001 21:57:37 +0000 (21:57 +0000)]
the prefixes may never get recognized.  (See 20010426.006.)

p4raw-id: //depot/perl@9870

utils/h2xs.PL

index 1b4f387..48cfe53 100644 (file)
@@ -1242,12 +1242,25 @@ END
     errno = 0;
 END
 
-  print $fh <<"END" if $off;
-    if ($offarg + $off >= len ) {
+  if ($off) {
+      my $null = 0;
+
+      foreach my $letter (keys %leading) {
+         if ($letter eq '') {
+             $null = 1;
+             break;
+         }
+      }
+
+      my $cmp = $null ? '>' : '>=';
+
+      print $fh <<"END"
+    if ($offarg + $off $cmp len ) {
        errno = EINVAL;
        return 0;
     }
 END
+  }
 
   print $fh <<"END";
     switch (name[$offarg + $off]) {