/*
- * "$Id: help-index.c 6649 2007-07-11 21:46:42Z mike $"
+ * "$Id$"
*
- * On-line help index routines for the Common UNIX Printing System (CUPS).
+ * Online help index routines for CUPS.
*
- * Copyright 2007 by Apple Inc.
+ * Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
static help_node_t *help_new_node(const char *filename, const char *anchor,
const char *section, const char *text,
time_t mtime, off_t offset,
- size_t length);
+ size_t length)
+ __attribute__((nonnull(1,3,4)));
static int help_sort_by_name(help_node_t *p1, help_node_t *p2);
static int help_sort_by_score(help_node_t *p1, help_node_t *p2);
static int help_sort_words(help_word_t *w1, help_word_t *w2);
help_node_t *node; /* Current node */
- DEBUG_printf(("helpDeleteIndex(hi=%p)\n", hi));
+ DEBUG_printf(("helpDeleteIndex(hi=%p)", hi));
if (!hi)
return;
help_node_t key; /* Search key */
- DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")\n",
- hi, filename ? filename : "(nil)", anchor ? anchor : "(nil)"));
+ DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")",
+ hi, filename, anchor));
/*
* Range check input...
help_word_t *word; /* Current word */
- DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")\n",
+ DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")",
hifile, directory));
/*
help_word_t *word; /* Current word */
- DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")\n", hi, hifile));
+ DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")", hi, hifile));
/*
* Try creating a new index file...
else
{
if (cupsFilePrintf(fp, "%s %d " CUPS_LLFMT " " CUPS_LLFMT " \"%s\" \"%s\"\n",
- node->filename, node->mtime,
+ node->filename, (int)node->mtime,
CUPS_LLCAST node->offset, CUPS_LLCAST node->length,
node->section ? node->section : "", node->text) < 0)
break;
int matches; /* Number of matches */
- DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")\n",
- hi, query ? query : "(nil)",
- filename ? filename : "(nil)"));
+ DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")",
+ hi, query, filename));
/*
* Range check...
search->nodes = cupsArrayNew((cups_array_func_t)help_sort_by_name, NULL);
search->sorted = cupsArrayNew((cups_array_func_t)help_sort_by_score, NULL);
-
+
if (!search->nodes || !search->sorted)
{
cupsArrayDelete(search->nodes);
node->score = matches;
- cupsArrayAdd(search->nodes, node);
- cupsArrayAdd(search->sorted, node);
+ cupsArrayAdd(search->nodes, node);
+ cupsArrayAdd(search->sorted, node);
}
}
key; /* Search key */
- DEBUG_printf(("help_add_word(n=%p, text=\"%s\")\n", n, text));
+ DEBUG_printf(("2help_add_word(n=%p, text=\"%s\")", n, text));
/*
* Create the words array as needed...
help_word_t *w; /* Current word */
- DEBUG_printf(("help_delete_node(n=%p)\n", n));
+ DEBUG_printf(("2help_delete_node(n=%p)", n));
if (!n)
return;
static void
help_delete_word(help_word_t *w) /* I - Word */
{
- DEBUG_printf(("help_delete_word(w=%p)\n", w));
+ DEBUG_printf(("2help_delete_word(w=%p)", w));
if (!w)
return;
help_node_t *node; /* Current node */
- DEBUG_printf(("help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")\n",
- hi, directory ? directory : "(nil)", relative ? relative : "(nil)"));
+ DEBUG_printf(("2help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")",
+ hi, directory, relative));
/*
* Open the directory and scan it...
int wordlen; /* Length of word */
- DEBUG_printf(("help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", mtime=%ld)\n",
- hi, filename ? filename : "(nil)",
- relative ? relative : "(nil)", mtime));
+ DEBUG_printf(("2help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", "
+ "mtime=%ld)", hi, filename, relative, mtime));
if ((fp = cupsFileOpen(filename, "r")) == NULL)
return (-1);
node = NULL;
offset = 0;
- strcpy(section, "Other");
+ strlcpy(section, "Other", sizeof(section));
while (cupsFileGets(fp, line, sizeof(line)))
{
* Look for "<TITLE>", "<A NAME", or "<!-- SECTION:" prefix...
*/
- if (!strncasecmp(line, "<!-- SECTION:", 13))
+ if (!_cups_strncasecmp(line, "<!-- SECTION:", 13))
{
/*
* Got section line, copy it!
{
ptr ++;
- if (!strncasecmp(ptr, "TITLE>", 6))
+ if (!_cups_strncasecmp(ptr, "TITLE>", 6))
{
/*
* Found the title...
anchor = NULL;
ptr += 6;
}
- else if (!strncasecmp(ptr, "A NAME=", 7))
+ else if (!_cups_strncasecmp(ptr, "A NAME=", 7))
{
/*
* Found an anchor...
sizeof(help_common_words[0])),
sizeof(help_common_words[0]),
(int (*)(const void *, const void *))
- strcasecmp))
+ _cups_strcasecmp))
help_add_word(node, temp);
}
}
help_node_t *n; /* Node */
- DEBUG_printf(("help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
- "mtime=%ld, offset=%ld, length=%ld)\n",
- filename ? filename : "(nil)", anchor ? anchor : "(nil)",
- text ? text : "(nil)", (long)mtime, (long)offset,
- (long)length));
+ DEBUG_printf(("2help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
+ "mtime=%ld, offset=%ld, length=%ld)", filename, anchor, text,
+ (long)mtime, (long)offset, (long)length));
n = (help_node_t *)calloc(1, sizeof(help_node_t));
if (!n)
int diff; /* Difference */
- DEBUG_printf(("help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)\n",
- n1, n1->filename, n1->anchor ? n1->anchor : "",
- n2, n2->filename, n2->anchor ? n2->anchor : ""));
+ DEBUG_printf(("2help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)",
+ n1, n1->filename, n1->anchor,
+ n2, n2->filename, n2->anchor));
if ((diff = strcmp(n1->filename, n2->filename)) != 0)
return (diff);
int diff; /* Difference */
- DEBUG_printf(("help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
- "n2=%p(%d \"%s\" \"%s\")\n",
- n1, n1->score, n1->section ? n1->section : "", n1->text,
- n2, n2->score, n2->section ? n2->section : "", n2->text));
+ DEBUG_printf(("2help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
+ "n2=%p(%d \"%s\" \"%s\")",
+ n1, n1->score, n1->section, n1->text,
+ n2, n2->score, n2->section, n2->text));
if (n1->score != n2->score)
- return (n1->score - n2->score);
+ return (n2->score - n1->score);
if (n1->section && !n2->section)
return (1);
(diff = strcmp(n1->section, n2->section)) != 0)
return (diff);
- return (strcasecmp(n1->text, n2->text));
+ return (_cups_strcasecmp(n1->text, n2->text));
}
help_sort_words(help_word_t *w1, /* I - Second word */
help_word_t *w2) /* I - Second word */
{
- DEBUG_printf(("help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))\n",
+ DEBUG_printf(("2help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))",
w1, w1->text, w2, w2->text));
- return (strcasecmp(w1->text, w2->text));
+ return (_cups_strcasecmp(w1->text, w2->text));
}
/*
- * End of "$Id: help-index.c 6649 2007-07-11 21:46:42Z mike $".
+ * End of "$Id$".
*/