Revert manifest to default one
[external/cups.git] / cgi-bin / testhi.c
1 /*
2  * "$Id: testhi.c 9771 2011-05-12 05:21:56Z 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 9771 2011-05-12 05:21:56Z mike $".
113  */