aboutsummaryrefslogtreecommitdiff
path: root/pkg/utilities/nttools/threed/txtable/txtcpt.gx
blob: 9a8ae930910a79eaa237aced414cbd94b67282ec (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
46
47
48
49
50
51
52
53
#
# TXTCPT  --  Copy data to output table. If array, copy into column.
#             If scalar, either write as column or write into header.
#
#
#
#
#  Revision history:
#  ----------------
#
#  22-Nov-1996  -  Task created (I.Busko)
#   7-Feb-2000  -  For datatype = 'c', make buf an array of strings (P.Hodge)

$if (datatype == c)
procedure txtcptt (otp, ocp, buf, maxch, start, nbuf, icol, compact)
$else
procedure txtcpt$t (otp, ocp, buf, start, nbuf, icol, compact)
$endif

pointer	otp		# i: table descriptor
pointer	ocp		# i: column descriptor
$if (datatype == c)
char	buf[maxch,ARB]	# i: array of values
$else
PIXEL	buf[ARB]
$endif
$if (datatype == c)
int	maxch		# i: max length of string
$endif
int	start		# i: starting row in output table
int	nbuf		# i: number of elements to write into output
int	icol		# i: column number in input table
bool	compact		# i: write scalars as header keywords ?
#--

begin
	if (ocp != NULL) {

	    $if (datatype == c)
	    call tbcptt (otp, ocp, buf, maxch, start, nbuf)
	    $else
	    call tbcpt$t (otp, ocp, buf, start, nbuf)
	    $endif

	} else if (compact) {

	    $if (datatype == c)
	    call txthvt  (otp, icol, buf)
	    $else
	    call txthv$t (otp, icol, buf[1])
	    $endif
	}
end