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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
include "cqdef.h"
include "cq.h"
# CQ_STATI -- Get an integer catalog database parameter.
int procedure cq_stati (cq, param)
pointer cq #I pointer to the catalog query structure.
int param #I the integer parameter to be retrieved
begin
switch (param) {
case CQNRECS:
return (CQ_NRECS(cq))
case CQSZRECLIST:
return (CQ_NAMEI(cq, CQ_NRECS(cq) + 1))
case CQCATNO:
return (CQ_CATNO(cq))
default:
call error (0, "Error fetching integer catalog database parameter")
}
end
# CQ_STATS -- Get a string catalog database parameter.
procedure cq_stats (cq, param, str, maxch)
pointer cq #I pointer to the catalog query structure.
int param #I the string parameter to be retrieved
char str[ARB] #O the output string parameter
int maxch #I the maximum size of the string parameter
begin
switch (param) {
case CQCATDB:
call strcpy (CQ_CATDB(cq), str, maxch)
case CQCATNAME:
call strcpy (CQ_CATNAME(cq), str, maxch)
default:
call error (0, "Error fetching string catalog database parameter")
}
end
# CQ_STATT -- Get a text list catalog database parameter. A text list is a
# string with items separated from each other by newlines.
int procedure cq_statt (cq, param, str, maxch)
pointer cq #I pointer to the catalog query structure.
int param #I the list parameter to be retrieved
char str[ARB] #O the output string parameter
int maxch #I the maximum size of the string parameter
int i, fd
int stropen()
begin
switch (param) {
case CQRECLIST:
fd = stropen (str, maxch, NEW_FILE)
do i = 1, CQ_NRECS(cq) {
call fprintf (fd, "%s\n")
call pargstr (CQ_NAME(cq, i))
}
call strclose (fd)
return (CQ_NRECS(cq))
default:
call error (0, "Error fetching list catalog database parameter")
}
end
|