summaryrefslogtreecommitdiffstats
path: root/src/search_js.h
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-09-14 15:11:20 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-09-15 18:12:34 (GMT)
commitbca6baee6685b489c36abec5a3b550921294e228 (patch)
treea9f2f6d2622e8aba8beed7477e87d7c9c7a468e1 /src/search_js.h
parentf6bc941e73bd562b15705f7bc3c958267f75f842 (diff)
downloadDoxygen-bca6baee6685b489c36abec5a3b550921294e228.zip
Doxygen-bca6baee6685b489c36abec5a3b550921294e228.tar.gz
Doxygen-bca6baee6685b489c36abec5a3b550921294e228.tar.bz2
Bug 705910 - Indexing and searching cannot treat non ASCII identifiers
Diffstat (limited to 'src/search_js.h')
-rw-r--r--src/search_js.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/search_js.h b/src/search_js.h
index 985d03c..422f580 100644
--- a/src/search_js.h
+++ b/src/search_js.h
@@ -5,7 +5,7 @@
" {\n"
" var c = search.charAt(i);\n"
" var cn = c.charCodeAt(0);\n"
-" if (c.match(/[a-z0-9]/))\n"
+" if (c.match(/[a-z0-9\\u0080-\\uFFFF]/))\n"
" {\n"
" result+=c;\n"
" }\n"
@@ -310,22 +310,20 @@
" var searchValue = this.DOMSearchField().value.replace(/^ +/, \"\");\n"
"\n"
" var code = searchValue.toLowerCase().charCodeAt(0);\n"
-" var hexCode;\n"
-" if (code<16) \n"
+" var idxChar = searchValue.substr(0, 1).toLowerCase();\n"
+" if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair\n"
" {\n"
-" hexCode=\"0\"+code.toString(16);\n"
-" }\n"
-" else \n"
-" {\n"
-" hexCode=code.toString(16);\n"
+" idxChar = searchValue.substr(0, 2);\n"
" }\n"
"\n"
" var resultsPage;\n"
" var resultsPageWithSearch;\n"
" var hasResultsPage;\n"
"\n"
-" if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1')\n"
+" var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);\n"
+" if (idx!=-1)\n"
" {\n"
+" var hexCode=idx.toString(16);\n"
" resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';\n"
" resultsPageWithSearch = resultsPage+'?'+escape(searchValue);\n"
" hasResultsPage = true;\n"