X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~webstump/git?a=blobdiff_plain;f=webstump%2Fscripts%2Fmime-parsing.lib;h=4a11a23667dd101f9ce113599ed4ed557ee2c007;hb=acff1ba7277dfa00ee47688742f2a3910ea6c106;hp=4605f10cd8a6b84e747c42b1791d2f35db104a74;hpb=0f086a3142fbd6951cea31e37cb20ebf2c895ba6;p=modbot-ulm.git diff --git a/webstump/scripts/mime-parsing.lib b/webstump/scripts/mime-parsing.lib index 4605f10..4a11a23 100644 --- a/webstump/scripts/mime-parsing.lib +++ b/webstump/scripts/mime-parsing.lib @@ -17,7 +17,7 @@ sub uudecode_text { if( $type =~ /^text\// ) { my $filename = $entity->bodyhandle->path; $filename =~ s/.*\///; - print TEXT_FILES $filename . "\n"; + print TEXT_FILES $filename . "\n" or die $!; my $count = 0; while(1) { @@ -28,14 +28,14 @@ sub uudecode_text { if( $data && $name ) { $body =~ s/\nbegin.*?\nend\n/((((Encoded File: $name))))\n/s; if( open( FILE, ">$dir/$name" ) ) { - print FILE $data; - close FILE; - chmod 0644, $file; + print FILE $data or die $!; + close FILE or die $!; + chmod 0644, $file or die $!; } my $filename = $entity->bodyhandle->path; - open( REDUCED, ">$filename" ); - print REDUCED $body; - close( REDUCED ); + open( REDUCED, ">$filename" ) or die $!; + print REDUCED $body or die $!; + close( REDUCED ) or die $!; } else { last; } @@ -62,9 +62,9 @@ sub decode_mime_message { # Parse input: $entity = $parser->read(\*STDIN) or die "couldn't parse MIME stream"; - open( FULL, ">$dir/full_message.txt" ); - print FULL $entity->as_string; - close( FULL ); + open( FULL, ">$dir/full_message.txt" ) or die $!; + print FULL $entity->as_string or die $!; + close( FULL ) or die $!; my $RealSubject = "Real-Subject: " . $entity->head->get( "Subject" ); @@ -75,13 +75,13 @@ sub decode_mime_message { $entity->dump_skeleton( \*SKELETON ); close( SKELETON ); - open( HEAD, ">$dir/headers.txt" ); - print HEAD $entity->head->as_string . "\n"; - close( HEAD ); + open( HEAD, ">$dir/headers.txt" ) or die $!; + print HEAD $entity->head->as_string . "\n" or die $!; + close( HEAD ) or die $!; - open( TEXT_FILES, ">$dir/text.files.lst" ); + open( TEXT_FILES, ">$dir/text.files.lst" ) or die $!; - print TEXT_FILES "headers.txt\n"; + print TEXT_FILES "headers.txt\n" or die $!; my $body = &uudecode_text( $entity, $dir ); $body =~ /(.*\n){0,3}/s; @@ -90,7 +90,7 @@ sub decode_mime_message { if( $entity->is_multipart ) { foreach( $entity->parts() ) { - print $_->mime_type . "\n"; + print $_->mime_type . "\n" or die $!; $body = &uudecode_text( $_, $dir ); $body =~ /(.*\n){0,3}/s; $prolog .= $1; @@ -144,9 +144,9 @@ sub file_plaintext_message { mkdir $dir, 0775; chmod 0755, $dir; - open( FULL, ">$dir/full_message.txt" ); - print FULL $Article_Body; - close( FULL ); + open( FULL, ">$dir/full_message.txt" ) or die $!; + print FULL $Article_Body or die $!; + close( FULL ) or die $!; my $prolog = "From: " . $Article_From . "\nReal-Subject: $Article_Subject"; @@ -157,20 +157,20 @@ sub file_plaintext_message { open( SKELETON, ">$dir/skeleton.skeleton" ); close( SKELETON ); - open( HEAD, ">$dir/headers.txt" ); - print HEAD $Article_Head . "\n"; - close( HEAD ); + open( HEAD, ">$dir/headers.txt" ) or die $!; + print HEAD $Article_Head . "\n" or die $!; + close( HEAD ) or die $!; - open( TEXT_FILES, ">$dir/text.files.lst" ); + open( TEXT_FILES, ">$dir/text.files.lst" ) or die $!; - print TEXT_FILES "headers.txt\nfull_message.txt\n"; + print TEXT_FILES "headers.txt\nfull_message.txt\n" or die $!; my $body = $Article_Body; $body =~ /(.*\n){0,3}/s; $prolog .= $1; - close( TEXT_FILES ); + close( TEXT_FILES ) or die $!; return $prolog; }