From: Jared Johnson <jar...@jdjlaptop.(none)>
Update Qpsmtpd::Connection::notes() and Qpsmtpd::Transaction::notes()
with clearer, more brief syntax. A previous patch used seemingly better
syntax, but did not evaluate the size of @_ in order to distinguish
between a call to notes('arg1',undef) and notes('arg1'). This corrects
this issue, and adds a comment to that effect.
---
lib/Qpsmtpd/Connection.pm | 8 ++++----
lib/Qpsmtpd/Transaction.pm | 9 ++++-----
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/lib/Qpsmtpd/Connection.pm b/lib/Qpsmtpd/Connection.pm
index 22ed704..99b7b38 100644
--- a/lib/Qpsmtpd/Connection.pm
+++ b/lib/Qpsmtpd/Connection.pm
@@ -108,10 +108,10 @@ sub hello_host {
}
sub notes {
- my $self = shift;
- my $key = shift;
- @_ and $self->{_notes}->{$key} = shift;
- $self->{_notes}->{$key};
+ my ($self,$key) = (shift,shift);
+ # Check for any additional arguments passed by the caller -- including undef
+ return $self->{_notes}->{$key} unless @_;
+ return $self->{_notes}->{$key} = shift;
}
sub reset {
diff --git a/lib/Qpsmtpd/Transaction.pm b/lib/Qpsmtpd/Transaction.pm
index 5c90bc3..54dfebd 100644
--- a/lib/Qpsmtpd/Transaction.pm
+++ b/lib/Qpsmtpd/Transaction.pm
@@ -61,11 +61,10 @@ sub header {
#}
sub notes {
- my $self = shift;
- my $key = shift;
- @_ and $self->{_notes}->{$key} = shift;
- #warn Data::Dumper->Dump([\$self->{_notes}], [qw(notes)]);
- $self->{_notes}->{$key};
+ my ($self,$key) = (shift,shift);
+ # Check for any additional arguments passed by the caller -- including undef
+ return $self->{_notes}->{$key} unless @_;
+ return $self->{_notes}->{$key} = shift;
}
sub set_body_start {
--
1.5.6.3