fix fatnode not parsing if included package did not end in new line
[scpubgit/Object-Remote.git] / lib / Object / Remote / FatNode.pm
index 41ad696..734929b 100644 (file)
@@ -6,7 +6,7 @@ use B qw(perlstring);
 
 my @exclude_mods = qw(XSLoader.pm DynaLoader.pm);
 #used by t/watchdog_fatnode 
-our $INHIBIT_RUN_NODE = 0; 
+our $INHIBIT_RUN_NODE = 0;
 
 sub stripspace {
   my ($text) = @_;
@@ -77,6 +77,15 @@ if (defined($ENV{OBJECT_REMOTE_LOG_SELECTIONS})) {
   my $selections = $ENV{OBJECT_REMOTE_LOG_SELECTIONS};
   $env_pass .= '$ENV{OBJECT_REMOTE_LOG_SELECTIONS} = "' . $selections . "\";\n";
 }
+if (defined($ENV{OBJECT_REMOTE_LOG_FORWARDING})) {
+  my $forwarding = $ENV{OBJECT_REMOTE_LOG_FORWARDING};
+  $env_pass .= '$ENV{OBJECT_REMOTE_LOG_FORWARDING} = "' . $forwarding . "\";\n";
+}
+if (defined($ENV{OBJECT_REMOTE_PERL_BIN})) {
+  my $perl_bin = $ENV{OBJECT_REMOTE_PERL_BIN};
+  $env_pass .= '$ENV{OBJECT_REMOTE_PERL_BIN} = "' . $perl_bin . "\";\n";
+}
+
 
 
 my $start = stripspace <<'END_START';
@@ -131,8 +140,11 @@ sub generate_fatpack_hash {
   (my $stub = $orig) =~ s/\.pm$//;
   my $name = uc join '_', split '/', $stub;
   my $data = $files{$orig} or die $orig; $data =~ s/^/  /mg;
-  return '$'.$hash_name.'{'.perlstring($orig).qq!} = <<'${name}';\n!
-  .qq!${data}${name}\n!;
+  $data .= "\n" unless $data =~ m/\n$/;
+  my $ret = '$'.$hash_name.'{'.perlstring($orig).qq!} = <<'${name}';\n!
+    .qq!${data}${name}\n!;
+#  warn $ret;
+  return $ret;
 }
 
 my @segments = (