File: input.pl

package info (click to toggle)
rumba-utils 1.0.1-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,764 kB
  • ctags: 414
  • sloc: sh: 7,541; cpp: 6,037; makefile: 1,127; xml: 605; perl: 70
file content (93 lines) | stat: -rwxr-xr-x 1,202 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/usr/bin/perl -w
use strict;

use vars qw/$infile $outfile $outfile2 $infile2/;

sub error
{
	die "Usage: input.pl -i infile -o outfile\n";
}

sub extension
{
	my $arg = shift;
	$arg =~ s/.*\./\./;
	return $arg;
}

sub extensiontable
{
	my $ext = shift;
	if ( $ext eq ".img" ) { return ".hdr"; }
	if ( $ext eq ".hdr" ) { return ".img"; }

	if ( $ext eq ".spr" ) { return ".sdt"; }
	if ( $ext eq ".sdt" ) { return ".spr"; }

	return "";
}

sub getother
{
	my $arg = shift;
	my $ext = extension($arg);
	my $newext = extensiontable($ext);
	if ( $newext eq "" )
	{
		return "";
	}

	$arg=~s/$ext$//;
	$arg=$arg.$newext;
	return $arg;
}

if ( $#ARGV != 3 )
{
	&error();
}




while ($#ARGV >=0)
{

	if ( $ARGV[0]  eq "-i" )
	{
		$infile = $ARGV[1];
		shift @ARGV;
		shift @ARGV;
	}
	elsif ( $ARGV[0] eq "-o" )
	{
		$outfile = $ARGV[1];
		shift @ARGV;
		shift @ARGV;
	}
	else
	{
		&error();
	}
}

if ( extension ( $infile ) ne extension ( $outfile ) )
{
	die "Incompatible file types\n";
}

-e $infile ||  die "input file does not exist"; 


symlink $infile, $outfile;

$outfile2 = getother ( $outfile );
$infile2 = getother ( $infile );

if ( $infile2 ne "" )
{
	symlink $infile2, $outfile2;
}

exit(0);