aboutsummaryrefslogtreecommitdiff
path: root/pkg/utilities/nttools/threed/txtable/txtcpyco.x
blob: c74943d47c30b22635a8454955cbb39190ed1d09 (plain) (blame)
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

#  TXTCPYCO  --  Copy column information
#
#
#
#
#
#  Revision history:
#  ----------------
#
#  03-Jan-97  -  Implemented after code review (IB)


procedure txtcpyco (otp, colptr, newcol, numptr, colname, colunits, colfmt,
                    compact)

pointer otp, colptr, newcol, colname, colunits, colfmt
int	numptr
bool	compact
#--
pointer	ocp
int     iptr, colnum, datatype, lendata, lenfmt

pointer	tcs_column()

begin
	do iptr = 1, numptr {
	    ocp = tcs_column (Memi[colptr+iptr-1])
	    call tbcinf (ocp, colnum, Memc[colname], Memc[colunits], 
                         Memc[colfmt], datatype, lendata, lenfmt)

	    # All columns in output are scalar-type !
	    # Column info for input scalars depends on compact mode.
            # If compact=no, just leave output column as scalar.
            # If compact=yes, signal input scalar by setting column
            # pointer to NULL.
	    if (compact && (lendata == 1)) {
	        Memi[newcol+iptr-1] = NULL
	     } else {
	        call tbcdef (otp, ocp, Memc[colname], Memc[colunits], 
                             Memc[colfmt], datatype, 1, 1)
	        Memi[newcol+iptr-1] = ocp    
	    }
	}
end