]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/regex/regex.pl
adding API note
[wxWidgets.git] / tests / regex / regex.pl
index cf2ba46d59be6e888b8f94eab472f66f44a7efb7..d05363d8a4712aa0ae10f4e4feeb905fa71ed84d 100755 (executable)
@@ -39,26 +39,26 @@ sub quotecxx {
                 "\013" => "v", '"' => '"', "\\" => "\\" );
 
     # working around lack of 'use encoding'
-    $_ = pack "U0C*", unpack "C*", $_;
-    use utf8;
+    if (!$utf) {
+        $_ = pack "U0C*", unpack "C*", $_;
+        use utf8;
+    }
 
     s/[\000-\037"\\\177-\x{ffff}]/
         if ($esc{$&}) {
             "\\$esc{$&}";
-        } elsif (ord($&) > 0x9f) {
-            if ($utf) {
-                $&;
-            } else {
-                sprintf "\\u%04x", ord($&);
-            }
+        } elsif (ord($&) > 0x9f && !$utf) {
+            sprintf "\\u%04x", ord($&);
         } else {
             sprintf "\\%03o", ord($&);
         }
     /ge;
 
     # working around lack of 'use encoding'
-    no utf8;
-    $_ = pack "C*", unpack "C*", $_;
+    if (!$utf) {
+        no utf8;
+        $_ = pack "C*", unpack "C*", $_;
+    }
 
     return ($utf ? '"' : 'L"') . $_ . '"'
 }
@@ -426,7 +426,7 @@ for (@input)
         my $results = $opts =~ /-inline/ && $test ne 'f' ? $extras[$i+2] : '';
 
         # get them all in the right order and print
-        unshift @args, $test, parsetcl($id), '-';
+        unshift @args, $test, parsetcl($id), $results ? '-' : 'o';
         push @args, parsetcl(parsetcl($results)) if $results;
         handle_test @args;
     }