From 7ab42fd97d4e0726e483f3685e77ad5f6db9f743 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Wed, 25 Oct 2006 13:34:56 +0000 Subject: [PATCH] set_options() now stores the old values in the stored options hash that the new values were taken from, so that calling it for a second time restores the old values. (Well, nearly. Because there is no way to unset an option once it's been set, the best we can do is set such an option to the empty string. That seems to be good enough.) --- lib/ZOOM/IRSpy/Task.pm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/ZOOM/IRSpy/Task.pm b/lib/ZOOM/IRSpy/Task.pm index 7e4d3fb..1bdd8e4 100644 --- a/lib/ZOOM/IRSpy/Task.pm +++ b/lib/ZOOM/IRSpy/Task.pm @@ -1,4 +1,4 @@ -# $Id: Task.pm,v 1.3 2006-10-25 10:52:53 mike Exp $ +# $Id: Task.pm,v 1.4 2006-10-25 13:34:56 mike Exp $ package ZOOM::IRSpy::Task; @@ -68,11 +68,13 @@ sub run { sub set_options { my $this = shift(); - my %options = %{ $this->{options} }; - foreach my $key (sort keys %options) { - my $value = $options{$key}; - $this->conn()->log("irspy_debug", "$this setting option '$key' -> '$value'"); - $this->conn()->option($key, $value); + foreach my $key (sort keys %{ $this->{options} }) { + my $value = $this->{options}->{$key}; + $value = "" if !defined $value; + $this->conn()->log("irspy_debug", "$this setting option '$key' -> ", + defined $value ? "'$value'" : "undefined"); + $this->{options}->{$key} = $this->conn()->option($key, $value); + #Net::Z3950::ZOOM::connection_option_set($this->conn()->_conn(), $key, $value); } } -- 1.7.10.4