[interchange-cvs] interchange - ton modified lib/Vend/Util.pm

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Thu Mar 27 10:56:49 EST 2008


User:      ton
Date:      2008-03-27 15:56:49 GMT
Modified:  lib/Vend Util.pm
Log:
	Allow rounding of negative numbers
	by round_to_frac_digits routine.

Revision  Changes    Path
2.118                interchange/lib/Vend/Util.pm


rev 2.118, prev_rev 2.117
Index: Util.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Util.pm,v
retrieving revision 2.117
retrieving revision 2.118
diff -u -r2.117 -r2.118
--- Util.pm	25 Mar 2008 17:13:21 -0000	2.117
+++ Util.pm	27 Mar 2008 15:56:49 -0000	2.118
@@ -1,6 +1,6 @@
 # Vend::Util - Interchange utility functions
 #
-# $Id: Util.pm,v 2.117 2008-03-25 17:13:21 jon Exp $
+# $Id: Util.pm,v 2.118 2008-03-27 15:56:49 ton Exp $
 # 
 # Copyright (C) 2002-2008 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -91,7 +91,7 @@
 use Vend::File;
 use subs qw(logError logGlobal);
 use vars qw($VERSION @EXPORT @EXPORT_OK);
-$VERSION = substr(q$Revision: 2.117 $, 10);
+$VERSION = substr(q$Revision: 2.118 $, 10);
 
 my $Eval_routine;
 my $Eval_routine_file;
@@ -264,10 +264,11 @@
 		$digits = 2;
 	}
 	my @frac;
-	$num =~ /^(\d*)(?:\.(\d+))?$/
+	$num =~ /^(-?)(\d*)(?:\.(\d+))?$/
 		or return $num;
-	my $int = $1;
-	@frac = split(m{}, ($2 || 0));
+	my $sign = $1 || '';
+	my $int = $2;
+	@frac = split(m{}, ($3 || 0));
 	local($^W) = 0;
 	my $frac = join "", @frac[0 .. $digits - 1];
 	if($frac[$digits] > 4) {
@@ -278,7 +279,7 @@
 		$frac = 0 x $digits;
 	}
 	$frac .= '0' while length($frac) < $digits;
-	return "$int.$frac";
+	return "$sign$int.$frac";
 }
 
 use vars qw/%MIME_type/;






More information about the interchange-cvs mailing list