#
# @mails = unpack_packet($filename) (see FTS-0001, F.1 / FSC-0048)
# reads a packet file and returns an array of mails
-# returns undef on error, dies on file error
+# returns empty list on error
# =========================================================================
package FTNMAIL;
my $tname = encode($charset, $mail->{tname});
my $subj = encode($charset, $mail->{subj});
my $body = encode($charset, $mail->{body});
- $body =~ s/\n/\x0D/g;
+ $body =~ s/\n/\x0D/g;
# generate kludge lines
my @kludges;
# find FROM and TO addresses
if(!$mail{area}) {
- # --> NETMAIL: use INTL/FMPT/TOPT (fallback to packet headers)
+ # --> NETMAIL: use INTL/FMPT/TOPT (with fallback in unpack_packet())
if($intl && $intl=~/^(\d+):(\d+)\/(\d+) (\d+):(\d+)\/(\d+)$/) {
if($fmpt) {
$mail{from} = "$4:$5/$6.$fmpt";
($hour, $minute, $second) = ($5, $6, 0);
} else {
LOG::warn("Unknown date format '$str'!");
- return(undef);
+ return;
}
if($year < 80) {
}
LOG::warn("Invalid FTN string '$str'!");
- return(undef);
+ return;
}
sub ftn2str(@)
}
} elsif($fido[0]) {
LOG::warn("Invalid FTN address: " . join(":", @fido) . "!");
- return(undef);
+ return;
}
- return(undef);
+ return;
}
# === Charset conversion ==================================================
'UTF-8 2' => 'utf-8', 'UTF-8 4' => 'utf-8',
},
'to' => {
- # if not listed here, inverse 'from' mappings
+ # if not listed here, use inverse 'from' mappings
'cp437' => 'CP437 2', 'cp866' => 'CP866 2',
'utf-8' => 'UTF-8 4', 'ascii' => 'ASCII 1',
},