1 61746420 2005-08-31 devnull #!/usr/local/plan9/bin/rc
3 61746420 2005-08-31 devnull # extract pages $OLIST from postscript on stdin
5 61746420 2005-08-31 devnull if(~ $OLIST '')
10 61746420 2005-08-31 devnull x=ENVIRON["OLIST"];
11 61746420 2005-08-31 devnull gsub(/^-o/, "", x);
12 61746420 2005-08-31 devnull na = split(x, a, ",");
13 61746420 2005-08-31 devnull header = 1;
14 61746420 2005-08-31 devnull goodpage = 0;
17 61746420 2005-08-31 devnull header || goodpage {
21 61746420 2005-08-31 devnull /^%%EndSetup[ ]*$/ { header = 0; next }
23 61746420 2005-08-31 devnull /^%%Page:/ {
24 61746420 2005-08-31 devnull header = 0;
26 61746420 2005-08-31 devnull goodpage = 0;
27 61746420 2005-08-31 devnull for(i=1; i<=na; i++){
28 61746420 2005-08-31 devnull if(aa=match(a[i], "-")){
29 61746420 2005-08-31 devnull low=substr(a[i], 1, RSTART);
30 61746420 2005-08-31 devnull high=substr(a[i], RSTART+RLENGTH);
31 61746420 2005-08-31 devnull if(low == "")
34 61746420 2005-08-31 devnull low = low+0;
35 61746420 2005-08-31 devnull if(high == "")
36 61746420 2005-08-31 devnull high = 100000;
38 61746420 2005-08-31 devnull high = high+0;
39 61746420 2005-08-31 devnull if(low <= p && p <= high){
40 61746420 2005-08-31 devnull goodpage = 1;
44 61746420 2005-08-31 devnull if(a[i] == p){
45 61746420 2005-08-31 devnull goodpage = 1;
52 61746420 2005-08-31 devnull /^%%EndPage[ ]*$/ {
53 61746420 2005-08-31 devnull goodpage = 0;
56 61746420 2005-08-31 devnull /^%%Trailer[ ]*$/ {
57 61746420 2005-08-31 devnull goodpage = 1;