summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2020-06-24 23:49:59 +0100
committerVincent Sanders <vince@kyllikki.org>2020-06-24 23:49:59 +0100
commitebe1b0511444e82830e8de239c34c6817817fba8 (patch)
tree62b03f2f06ed0fc279d2830f82a299d443583aea
parent2352bea1534c5cfe13018cbc04b9026f5dda60f7 (diff)
downloadnetsurf-ebe1b0511444e82830e8de239c34c6817817fba8.tar.gz
netsurf-ebe1b0511444e82830e8de239c34c6817817fba8.tar.bz2
improve desktop text search header usage
remove unecessary inclusion of desktop search header in content header which has knock on effect of not having ctype or string system headers dragged in unecessarily. Futher this highlighted use of ctype API where internal ascii processing ought to be used.
-rw-r--r--content/content.c1
-rw-r--r--content/content.h19
-rw-r--r--content/handlers/css/css.c1
-rw-r--r--content/handlers/html/box_special.c1
-rw-r--r--content/handlers/html/box_textarea.c1
-rw-r--r--content/handlers/html/dom_event.c2
-rw-r--r--content/handlers/html/forms.c2
-rw-r--r--content/handlers/html/interaction.c1
-rw-r--r--content/handlers/image/png.c1
-rw-r--r--content/handlers/text/textplain.c1
-rw-r--r--content/textsearch.c8
-rw-r--r--content/textsearch.h19
-rw-r--r--desktop/browser_window.c1
-rw-r--r--desktop/gui_factory.c1
-rw-r--r--desktop/search.c2
-rw-r--r--desktop/search.h10
-rw-r--r--desktop/searchweb.c1
-rw-r--r--desktop/selection.c1
18 files changed, 46 insertions, 27 deletions
diff --git a/content/content.c b/content/content.c
index f72f3d434..ae4718f54 100644
--- a/content/content.c
+++ b/content/content.c
@@ -23,6 +23,7 @@
#include <stdint.h>
#include <stdlib.h>
+#include <string.h>
#include <nsutils/time.h>
#include "netsurf/inttypes.h"
diff --git a/content/content.h b/content/content.h
index edf9ed2cc..1bae813b2 100644
--- a/content/content.h
+++ b/content/content.h
@@ -29,7 +29,6 @@
#include <libwapcaplet/libwapcaplet.h>
-#include "desktop/search.h" /* search flags enum */
#include "netsurf/content_type.h"
#include "netsurf/mouse.h" /* mouse state enums */
#include "netsurf/console.h" /* console state and flags enums */
@@ -421,24 +420,6 @@ bool content_scroll_at_point(struct hlcache_handle *h,
bool content_drop_file_at_point(struct hlcache_handle *h,
int x, int y, char *file);
-/**
- * Free text search a content
- *
- * \param[in] h Handle to content to search.
- * \param[in] context The context passed to gui table search handlers
- * \param[in] flags The flags that control the search
- * \param[in] The string being searched for.
- * \retun NSERROR_OK on success else error code on faliure
- */
-nserror content_textsearch(struct hlcache_handle *h, void *context, search_flags_t flags, const char *string);
-
-/**
- * Clear a search
- *
- * \param[in] h Handle to content to clear search from.
- */
-nserror content_textsearch_clear(struct hlcache_handle *h);
-
/**
* Control debug con a content.
diff --git a/content/handlers/css/css.c b/content/handlers/css/css.c
index 6bdc124e2..be945fb97 100644
--- a/content/handlers/css/css.c
+++ b/content/handlers/css/css.c
@@ -16,6 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <string.h>
#include <assert.h>
#include <libwapcaplet/libwapcaplet.h>
#include <dom/dom.h>
diff --git a/content/handlers/html/box_special.c b/content/handlers/html/box_special.c
index c6be9e626..f761557e0 100644
--- a/content/handlers/html/box_special.c
+++ b/content/handlers/html/box_special.c
@@ -26,6 +26,7 @@
* Implementation of special element handling conversion.
*/
+#include <string.h>
#include <stdbool.h>
#include <dom/dom.h>
diff --git a/content/handlers/html/box_textarea.c b/content/handlers/html/box_textarea.c
index 1038be31a..b3e3c3610 100644
--- a/content/handlers/html/box_textarea.c
+++ b/content/handlers/html/box_textarea.c
@@ -21,6 +21,7 @@
* Box tree treeview box replacement (implementation).
*/
+#include <string.h>
#include <dom/dom.h>
#include "utils/config.h"
diff --git a/content/handlers/html/dom_event.c b/content/handlers/html/dom_event.c
index d490cad77..71ef13861 100644
--- a/content/handlers/html/dom_event.c
+++ b/content/handlers/html/dom_event.c
@@ -22,6 +22,8 @@
* Implementation of HTML content DOM event handling.
*/
+#include <string.h>
+
#include "utils/config.h"
#include "utils/corestrings.h"
#include "utils/nsoption.h"
diff --git a/content/handlers/html/forms.c b/content/handlers/html/forms.c
index 08adf8d39..4669154e9 100644
--- a/content/handlers/html/forms.c
+++ b/content/handlers/html/forms.c
@@ -21,6 +21,8 @@
* HTML form handling implementation
*/
+#include <string.h>
+
#include "utils/config.h"
#include "utils/corestrings.h"
#include "utils/log.h"
diff --git a/content/handlers/html/interaction.c b/content/handlers/html/interaction.c
index 421535c69..90e7b7626 100644
--- a/content/handlers/html/interaction.c
+++ b/content/handlers/html/interaction.c
@@ -26,6 +26,7 @@
#include <assert.h>
#include <stdbool.h>
+#include <string.h>
#include <dom/dom.h>
diff --git a/content/handlers/image/png.c b/content/handlers/image/png.c
index 4926d9a27..06a38ca0f 100644
--- a/content/handlers/image/png.c
+++ b/content/handlers/image/png.c
@@ -19,6 +19,7 @@
*/
#include <stdbool.h>
+#include <string.h>
#include <stdlib.h>
#include <png.h>
diff --git a/content/handlers/text/textplain.c b/content/handlers/text/textplain.c
index b5ad0aec3..21876ec58 100644
--- a/content/handlers/text/textplain.c
+++ b/content/handlers/text/textplain.c
@@ -23,6 +23,7 @@
* plain text content handling implementation.
*/
+#include <string.h>
#include <parserutils/input/inputstream.h>
#include "utils/errors.h"
diff --git a/content/textsearch.c b/content/textsearch.c
index 802832089..3f97d42ee 100644
--- a/content/textsearch.c
+++ b/content/textsearch.c
@@ -25,9 +25,11 @@
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
+#include <string.h>
#include "utils/errors.h"
#include "utils/utils.h"
+#include "utils/ascii.h"
#include "netsurf/types.h"
#include "desktop/selection.h"
@@ -507,11 +509,11 @@ content_textsearch_find_pattern(const char *string,
if (ch != '#') {
/* scan forwards until we find a match for
this char */
- if (!case_sens) ch = toupper(ch);
+ if (!case_sens) ch = ascii_to_upper(ch);
while (s < es) {
if (case_sens) {
if (*s == ch) break;
- } else if (toupper(*s) == ch)
+ } else if (ascii_to_upper(*s) == ch)
break;
s++;
}
@@ -548,7 +550,7 @@ content_textsearch_find_pattern(const char *string,
if (case_sens)
matches = (*s == ch);
else
- matches = (toupper(*s) == toupper(ch));
+ matches = (ascii_to_upper(*s) == ascii_to_upper(ch));
}
if (matches && first) {
ss = s; /* remember first non-'*' char */
diff --git a/content/textsearch.h b/content/textsearch.h
index e30ebc452..c32b17cca 100644
--- a/content/textsearch.h
+++ b/content/textsearch.h
@@ -28,9 +28,28 @@
struct textsearch_context;
struct content;
+struct hlcache_handle;
struct box;
/**
+ * Free text search a content
+ *
+ * \param[in] h Handle to content to search.
+ * \param[in] context The context passed to gui table search handlers
+ * \param[in] flags The flags that control the search
+ * \param[in] The string being searched for.
+ * \retun NSERROR_OK on success else error code on faliure
+ */
+nserror content_textsearch(struct hlcache_handle *h, void *context, search_flags_t flags, const char *string);
+
+/**
+ * Clear a search
+ *
+ * \param[in] h Handle to content to clear search from.
+ */
+nserror content_textsearch_clear(struct hlcache_handle *h);
+
+/**
* Ends the search process, invalidating all state freeing the list of
* found boxes.
*/
diff --git a/desktop/browser_window.c b/desktop/browser_window.c
index 546198f88..32247062e 100644
--- a/desktop/browser_window.c
+++ b/desktop/browser_window.c
@@ -27,6 +27,7 @@
#include "utils/config.h"
#include <stdlib.h>
+#include <string.h>
#include <math.h>
#include <nsutils/time.h>
diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c
index a4532fefa..a141d7d23 100644
--- a/desktop/gui_factory.c
+++ b/desktop/gui_factory.c
@@ -19,6 +19,7 @@
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
+#include <string.h>
#include "utils/config.h"
#include "utils/errors.h"
diff --git a/desktop/search.c b/desktop/search.c
index d4abfed92..e21f520a6 100644
--- a/desktop/search.c
+++ b/desktop/search.c
@@ -26,7 +26,7 @@
#include <stdbool.h>
#include "utils/errors.h"
-#include "content/content.h"
+#include "content/textsearch.h"
#include "netsurf/types.h"
#include "netsurf/browser_window.h"
diff --git a/desktop/search.h b/desktop/search.h
index baf382e77..c39d1d8a3 100644
--- a/desktop/search.h
+++ b/desktop/search.h
@@ -16,11 +16,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _NETSURF_DESKTOP_SEARCH_H_
-#define _NETSURF_DESKTOP_SEARCH_H_
+/**
+ * \file
+ * Browseing window text search interface
+ */
-#include <ctype.h>
-#include <string.h>
+#ifndef NETSURF_DESKTOP_SEARCH_H_
+#define NETSURF_DESKTOP_SEARCH_H_
struct browser_window;
diff --git a/desktop/searchweb.c b/desktop/searchweb.c
index 2c0873de5..597b8fffe 100644
--- a/desktop/searchweb.c
+++ b/desktop/searchweb.c
@@ -22,6 +22,7 @@
*/
#include <stdlib.h>
+#include <string.h>
#include "utils/utils.h"
#include "utils/log.h"
diff --git a/desktop/selection.c b/desktop/selection.c
index 417a504b3..332e9dafa 100644
--- a/desktop/selection.c
+++ b/desktop/selection.c
@@ -23,6 +23,7 @@
*/
#include <stdlib.h>
+#include <string.h>
#include "netsurf/clipboard.h"
#include "netsurf/browser_window.h"