|
|
1.1 root 1: subroutine s5pack(a,b,n)
2: c integers a(1), a(2), ...a(n) contain characters in a1 format.
3: c the first byte of each integer contains the character
4: c the three remaining bytes are blank. note that the calling program
5: c expects a and b to be integer arrays, but we treat a and b
6: c internally as character arrays with the correspondence
7: c character a(4*i+1;4*i+1)=first byte of integer a(i+1)
8: c s5pack(a,b,n) packs these characters into
9: c elements of the integer array b in a4 format using only as many
10: c elements of b as necessary.
11: c The last element of b used must be padded
12: c with trailing blanks. Unused elements of b are not affected.
13: character *480 a
14: character b
15: integer n,i,k
16: c write(6,1000)
17: c1000 format("entered s5pack")
18: do 1 i=0,n-1
19: b(i+1:i+1) = a(4*i+1:4*i+1)
20: 1 continue
21: k = mod(n,4)
22: if(k.gt.0) then
23: do 2 i=n+1,n+4-k
24: b(i:i) = ' '
25: 2 continue
26: end if
27: c write(6,2000)
28: c2000 format("leaving s5pak")
29: return
30: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.