chiark / gitweb /
default option on one-article screen is back of queue
[modbot-mtm.git] / webstump / scripts / mime-parsing.lib
index 4605f10cd8a6b84e747c42b1791d2f35db104a74..4a11a23667dd101f9ce113599ed4ed557ee2c007 100644 (file)
@@ -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;
 }