ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/xyzimage.csh
Revision: 2.5
Committed: Mon Aug 25 04:50:32 2008 UTC (15 years, 8 months ago) by greg
Content type: application/x-csh
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad4R2, rad4R1, rad4R0, rad4R2P1, rad5R3, HEAD
Changes since 2.4: +2 -3 lines
Log Message:
Made temporary files safe from malicious attackers

File Contents

# User Rev Content
1 greg 2.1 #!/bin/csh -f
2 greg 2.5 # RCSid: $Id: xyzimage.csh,v 2.4 2005/02/16 05:40:11 greg Exp $
3 greg 2.1 #
4     # Display one or more CIE XYZE pictures using ximage
5     #
6     set popt=""
7     if ( $?DISPLAY_PRIMARIES ) then
8     set popt="-p $DISPLAY_PRIMARIES"
9     endif
10     set xiargs=""
11     set i=1
12     set firstarg=0
13     while ( $i <= $#argv && ! $firstarg )
14     @ i1= $i + 1
15     switch ( $argv[$i] )
16     case -ge*:
17     case -di*:
18     case -g:
19     case -c:
20     case -e:
21     if ( $i1 > $#argv ) goto notenough
22     set xiargs=($xiargs $argv[$i] $argv[$i1])
23     @ i1++
24     breaksw
25     case -d:
26     case -b:
27     case -m:
28     case -f:
29     case -s:
30     case =*:
31     case -o*:
32     set xiargs=($xiargs $argv[$i])
33     breaksw
34     case -p:
35     set popt="-p"
36     while ( $i1 <= $i + 8 )
37     if ( $i1 > $#argv ) goto notenough
38     set popt="$popt $argv[$i1]"
39     @ i1++
40     end
41     breaksw
42     case -*:
43     echo "Unknown option: $argv[$i]"
44     exit 1
45     default:
46     set firstarg=$i
47     breaksw
48     endsw
49     set i=$i1
50     end
51 greg 2.2 set ecode=1
52 greg 2.1 onintr quit
53 greg 2.5 set td=`mktemp -d /tmp/xyz.XXXXXX`
54 greg 2.1 if ( ! $firstarg ) then
55 greg 2.2 ra_xyze -r -u $popt > $td/stdin
56 greg 2.1 if ( $status ) goto quit
57     else
58     set i=$firstarg
59     while ( $i <= $#argv )
60 greg 2.2 ra_xyze -r -u $popt $argv[$i] $td/$argv[$i]:t
61 greg 2.1 if ( $status ) goto quit
62     @ i++
63     end
64     endif
65 greg 2.2 ximage $xiargs $td/*
66     set ecode=$status
67 greg 2.1 quit:
68 greg 2.2 rm -rf $td
69     exit $ecode
70 greg 2.1 notenough:
71     echo "Missing arguments for $argv[$i] option"
72     exit 1