# may already have been read-in and cached. The cache key
# is the class and file to load, and whether the results
# need to be inverted.
- my $found = $Cache{$class, $file, $invert_it};
- if ($found and ref($found) eq $class) {
- print STDERR __LINE__, ": Returning cached swash for '$class,$file,$invert_it' for \\p{$type}\n" if DEBUG;
- pop @recursed if @recursed;
- return $found;
- }
+ my $found = $Cache{$class, $file, $invert_it};
+ if ($found and ref($found) eq $class) {
+ print STDERR __LINE__, ": Returning cached swash for '$class,$file,$invert_it' for \\p{$type}\n" if DEBUG;
+ pop @recursed if @recursed;
+ return $found;
+ }
- local $@;
- local $!;
- $list = do $file; die $@ if $@;
+ local $@;
+ local $!;
+ $list = do $file; die $@ if $@;
}
$list_is_from_mktables = 1;
invlist = _new_invlist(0);
}
else {
- l = (U8 *) after_strtol;
+ l = (U8 *) after_strtol;
- /* Get the 0th element, which is needed to setup the inversion list */
- element0 = (UV) Strtoul((char *)l, &after_strtol, 10);
- l = (U8 *) after_strtol;
- invlist = _setup_canned_invlist(elements, element0, &other_elements_ptr);
- elements--;
+ /* Get the 0th element, which is needed to setup the inversion list */
+ element0 = (UV) Strtoul((char *)l, &after_strtol, 10);
+ l = (U8 *) after_strtol;
+ invlist = _setup_canned_invlist(elements, element0, &other_elements_ptr);
+ elements--;
- /* Then just populate the rest of the input */
- while (elements-- > 0) {
- if (l > lend) {
- Perl_croak(aTHX_ "panic: Expecting %"UVuf" more elements than available", elements);
+ /* Then just populate the rest of the input */
+ while (elements-- > 0) {
+ if (l > lend) {
+ Perl_croak(aTHX_ "panic: Expecting %"UVuf" more elements than available", elements);
+ }
+ *other_elements_ptr++ = (UV) Strtoul((char *)l, &after_strtol, 10);
+ l = (U8 *) after_strtol;
}
- *other_elements_ptr++ = (UV) Strtoul((char *)l, &after_strtol, 10);
- l = (U8 *) after_strtol;
- }
}
}
else {