summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/tex4ht/htmove.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/tex4ht/htmove.pl')
-rw-r--r--Master/texmf-dist/scripts/tex4ht/htmove.pl45
1 files changed, 45 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/tex4ht/htmove.pl b/Master/texmf-dist/scripts/tex4ht/htmove.pl
new file mode 100644
index 00000000000..2d52965ebf5
--- /dev/null
+++ b/Master/texmf-dist/scripts/tex4ht/htmove.pl
@@ -0,0 +1,45 @@
+use File::Copy;
+use File::Path;
+use File::Basename;
+
+&main ;
+
+0;
+
+sub is_absolute {
+ my ($f) = @_;
+ return $f =~ m@^([a-zA-Z]:)?[\\/]@ ;
+}
+
+sub canonicalize {
+ my ($f) = @_;
+ $f =~ s@/@\\@g;
+ return $f;
+}
+
+sub main {
+ my $src = &canonicalize($ARGV[0]);
+ my $dst = &canonicalize($ARGV[1]);
+
+ if (&is_absolute($src)) {
+ if (-d $dst) {
+ $dst = $dst . "\\" . &basename($src);
+ }
+ }
+ else {
+ if (-d $dst) {
+ $dst = "$dst\\$src";
+ &mkpath(&dirname($dst));
+ }
+ }
+
+ if ($0 =~ m/htmove\.pl$/) {
+ &move($src, $dst);
+ }
+ elsif ($0 =~ m/htcopy\.pl$/) {
+ &copy($src, $dst);
+ }
+ else {
+ print STDERR "$0: bad verb $ARGV[0]\n";
+ }
+}