From 2b22859ec037627196e3153719359efe46e42178 Mon Sep 17 00:00:00 2001 From: Joshua Goodman Date: Fri, 16 Jan 2015 00:25:37 +0000 Subject: [PATCH] Change $_category_table to be a hash which maps packages to category tables. A bug was found where "part_svc_category" was returned when FS::part_pkg->insert() was called. --- FS/FS/class_Common.pm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/FS/FS/class_Common.pm b/FS/FS/class_Common.pm index 455cb9f1a..01048ec65 100644 --- a/FS/FS/class_Common.pm +++ b/FS/FS/class_Common.pm @@ -122,14 +122,15 @@ sub _target_table { sub _target_column { 'classnum'; } -use vars qw( $_category_table ); +use vars qw( %_category_table ); sub _category_table { - return $_category_table if $_category_table; my $self = shift; - $_category_table = $self->table; - $_category_table =~ s/class/category/ # s/_class$/_category/ - or die "can't determine an automatic category table for $_category_table"; - $_category_table; + return $_category_table{ ref $self } ||= do { + my $category_table = $self->table; + $category_table =~ s/class/category/ # s/_class$/_category/ + or die "can't determine an automatic category table for $category_table"; + $category_table; + } } =head1 BUGS -- 2.11.0