X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FRoute.pm;h=521068b023cba2c2e1358140f549d667d8b1d0c9;hb=125670de1ca386c044416d59935cfad9e1759c06;hp=b4306e04837e93d9275e1c5c98cc4c69150ede48;hpb=2edc1b59ddce231771947ff0f31adbae015ff6c7;p=spider.git diff --git a/perl/Route.pm b/perl/Route.pm index b4306e04..521068b0 100644 --- a/perl/Route.pm +++ b/perl/Route.pm @@ -112,14 +112,20 @@ sub _dellist # # flag field constructors/enquirers # +# These can be called in various ways:- +# +# Route::here or $ref->here returns 1 or 0 depending on value of the here flag +# Route::here(1) returns 2 (the bit value of the here flag) +# $ref->here(1) or $ref->here(0) sets the here flag +# sub here { my $self = shift; my $r = shift; return $self ? 2 : 0 unless ref $self; - return ($self->{flags} & 2) ? 1 : 0 unless $r; - $self->{flags} = (($self->{flags} & ~2) | ($r ? 1 : 0)); + return ($self->{flags} & 2) ? 1 : 0 unless defined $r; + $self->{flags} = (($self->{flags} & ~2) | ($r ? 2 : 0)); return $r ? 1 : 0; } @@ -128,7 +134,7 @@ sub conf my $self = shift; my $r = shift; return $self ? 1 : 0 unless ref $self; - return ($self->{flags} & 1) ? 1 : 0 unless $r; + return ($self->{flags} & 1) ? 1 : 0 unless defined $r; $self->{flags} = (($self->{flags} & ~1) | ($r ? 1 : 0)); return $r ? 1 : 0; }