]> git.ipfire.org Git - thirdparty/cups.git/blob - cgi-bin/testhi.c
Merge changes from CUPS 1.5b1-r9774.
[thirdparty/cups.git] / cgi-bin / testhi.c
1 /*
2 * "$Id: testhi.c 6649 2007-07-11 21:46:42Z mike $"
3 *
4 * Help index test program for CUPS.
5 *
6 * Copyright 2007-2011 by Apple Inc.
7 * Copyright 1997-2007 by Easy Software Products.
8 *
9 * These coded instructions, statements, and computer programs are the
10 * property of Apple Inc. and are protected by Federal copyright
11 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 * which should have been included with this file. If this file is
13 * file is missing or damaged, see the license at "http://www.cups.org/".
14 *
15 * Contents:
16 *
17 * main() - Test the help index code.
18 * list_nodes() - List nodes in an array...
19 */
20
21 /*
22 * Include necessary headers...
23 */
24
25 #include "cgi.h"
26
27
28 /*
29 * Local functions...
30 */
31
32 static void list_nodes(const char *title, cups_array_t *nodes);
33
34
35 /*
36 * 'main()' - Test the help index code.
37 */
38
39 int /* O - Exit status */
40 main(int argc, /* I - Number of command-line arguments */
41 char *argv[]) /* I - Command-line arguments */
42 {
43 help_index_t *hi, /* Help index */
44 *search; /* Search index */
45
46
47 /*
48 * Load the help index...
49 */
50
51 hi = helpLoadIndex("testhi.index", ".");
52
53 list_nodes("nodes", hi->nodes);
54 list_nodes("sorted", hi->sorted);
55
56 /*
57 * Do any searches...
58 */
59
60 if (argc > 1)
61 {
62 search = helpSearchIndex(hi, argv[1], NULL, argv[2]);
63
64 if (search)
65 {
66 list_nodes(argv[1], search->sorted);
67 helpDeleteIndex(search);
68 }
69 else
70 printf("%s (0 nodes)\n", argv[1]);
71 }
72
73 helpDeleteIndex(hi);
74
75 /*
76 * Return with no errors...
77 */
78
79 return (0);
80 }
81
82
83 /*
84 * 'list_nodes()' - List nodes in an array...
85 */
86
87 static void
88 list_nodes(const char *title, /* I - Title string */
89 cups_array_t *nodes) /* I - Nodes */
90 {
91 int i; /* Looping var */
92 help_node_t *node; /* Current node */
93
94
95 printf("%s (%d nodes):\n", title, cupsArrayCount(nodes));
96 for (i = 1, node = (help_node_t *)cupsArrayFirst(nodes);
97 node;
98 i ++, node = (help_node_t *)cupsArrayNext(nodes))
99 {
100 if (node->anchor)
101 printf(" %d: %s#%s \"%s\"", i, node->filename, node->anchor,
102 node->text);
103 else
104 printf(" %d: %s \"%s\"", i, node->filename, node->text);
105
106 printf(" (%d words)\n", cupsArrayCount(node->words));
107 }
108 }
109
110
111 /*
112 * End of "$Id: testhi.c 6649 2007-07-11 21:46:42Z mike $".
113 */