Subject: | Failure on polling VM with Unknown CallerID |
Date: | Tue, 5 Jul 2011 16:38:10 +0000 |
To: | "bug-Google-Voice [...] rt.cpan.org" <bug-Google-Voice [...] rt.cpan.org> |
From: | Graham Forest <graham [...] feynmangroup.com> |
If Google::Voice->voicemail is called, and there is currently a message in the account's inbox with Unknown CallerID, Feed.pm dies at line 32 due to the ->text method being called on an undefined value ($xml->at('.gc-messages-name-link') returns undef).
I fixed it for my purposes on my local copy with the following, but this leaves the CallerID name in a funny state:
--- Feed.pm 2011-07-02 15:33:10.000000000 -0700
+++ Feed-modified.pm 2011-07-02 15:49:42.000000000 -0700
@@ -27,9 +27,11 @@
my $rnr_se = shift;
my $ua = shift;
+ my $name = $xml->at('.gc-message-name-link') || "Unknown";
+
$self->xml($xml);
$self->id($xml->attrs->{id});
- $self->name($xml->at('.gc-message-name-link')->text);
+ $self->name($name);
$self->meta($meta->{messages}->{$self->id});
$self->type(FEED_TYPE->{$self->meta->{type}});
Thanks,
Graham Forest