+ $desc2 =~ s/\n\n(From |https?:)/\n$1/gs;
+
+ return ($desc1, $desc2);
+}
+
+
+sub update_saver_xml($$) {
+ my ($app_dir, $vers) = @_;
+ my ($filename, $body, $was_compressed_p) = read_saver_xml ($app_dir);
+ my $obody = $body;
+
+ return () unless defined ($filename);
+
+ $body =~ m@<screensaver[^<>]*?[ \t]_label=\"([^\"]+)\"@m ||
+ error ("$filename: no name label");
+ my $name = $1;
+
+ $body =~ m@<_description>(.*?)</_description>@s ||
+ error ("$filename: no description tag");
+ my $desc = $1;
+
+ error ("$filename: description contains non-ASCII and is not UTF-8: $1")
+ if ($body !~ m/\Q<?xml version="1.0" encoding="UTF-8"/s &&
+ $desc =~ m/([^\000-\176])/s);
+
+ my ($desc1, $desc2) = munge_blurb ($filename, $name, $vers, $desc);