Index: openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl 12 Sep 2003 10:22:52 -0000 1.5 +++ openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl 5 Nov 2003 15:37:51 -0000 1.6 @@ -84,7 +84,15 @@ set try_offsets [list] foreach offset [list $recommended_offset [expr $recommended_offset -24]] { - lappend try_offsets "'[db_quote [expr int($offset*60*60)]]'" + # LARS 2003-11-05 + # This is a workaround for a Tcl 8.3 bug on Solaris that causes int() on negative decimal + # numbers to fail with "integer value too large to represent". + # Example: 'expr int(-1.0)' throws an error; 'expr int(-1)' does not. + if { $offset < 0 } { + lappend try_offsets "'[db_quote [expr -int(abs($offset)*60*60)]]'" + } else { + lappend try_offsets "'[db_quote [expr int($offset*60*60)]]'" + } } set query "