[interchange-cvs] interchange - heins modified lib/Vend/Interpolate.pm

interchange-core@interchange.redhat.com interchange-core@interchange.redhat.com
Sat Oct 13 09:49:01 2001


User:      heins
Date:      2001-10-13 13:48:48 GMT
Modified:  lib/Vend Interpolate.pm
Log:
	* Fix problem with [data increment="-3" ....] tag found by
	  jerry@data-logic.com. This doesn't affect stable branch.

Revision  Changes    Path
2.20      +16 -16    interchange/lib/Vend/Interpolate.pm


rev 2.20, prev_rev 2.19
Index: Interpolate.pm
===================================================================
RCS file: /anon_cvs/repository/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.19
retrieving revision 2.20
diff -u -r2.19 -r2.20
--- Interpolate.pm	2001/10/11 00:19:04	2.19
+++ Interpolate.pm	2001/10/13 13:48:47	2.20
@@ -1,6 +1,6 @@
 # Vend::Interpolate - Interpret Interchange tags
 # 
-# $Id: Interpolate.pm,v 2.19 2001/10/11 00:19:04 mheins Exp $
+# $Id: Interpolate.pm,v 2.20 2001/10/13 13:48:47 mheins Exp $
 #
 # Copyright (C) 1996-2001 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -27,7 +27,7 @@
 require Exporter;
 @ISA = qw(Exporter);
 
-$VERSION = substr(q$Revision: 2.19 $, 10);
+$VERSION = substr(q$Revision: 2.20 $, 10);
 
 @EXPORT = qw (
 
@@ -820,6 +820,20 @@
 			return '';
 		}
 	}
+	elsif($opt->{increment}) {
+#::logDebug("increment_field: key=$key field=$field value=$opt->{value}");
+		return increment_field($Vend::Database{$selector},$key,$field,$opt->{value} || 1);
+	}
+	elsif ($opt->{serial}) {
+		$field =~ s/\.(.*)//;
+		my $hk = $1;
+		return ed(
+					dotted_hash(
+						database_field($selector,$key,$field,$opt->{foreign}),
+						$hk,
+					)
+				);
+	}
 	elsif (defined $opt->{value}) {
 #::logDebug("alter table: table=$selector alter=$opt->{alter} field=$field value=$opt->{value}");
 		my $db = $Vend::Database{$selector};
@@ -863,20 +877,6 @@
 			return $orig if $opt->{serial};
 			return $result
 		}
-	}
-	elsif($opt->{increment}) {
-#::logDebug("increment_field: key=$key field=$field value=$opt->{value}");
-		return increment_field($Vend::Database{$selector},$key,$field,$opt->{value} || 1);
-	}
-	elsif ($opt->{serial}) {
-		$field =~ s/\.(.*)//;
-		my $hk = $1;
-		return ed(
-					dotted_hash(
-						database_field($selector,$key,$field,$opt->{foreign}),
-						$hk,
-					)
-				);
 	}
 	elsif ($opt->{hash}) {
 		my $db = ::database_exists_ref($selector);