From ba60f65040a744b4ed28879dae0e0286405be3d7 Mon Sep 17 00:00:00 2001 From: reger Date: Fri, 29 Sep 2017 00:26:30 +0200 Subject: [PATCH] Adjust filetype: query modifier parameter to lower case to prevent mismatch on user input with mixed case Internally file extension are always compared lowercase. --- source/net/yacy/search/query/QueryModifier.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/net/yacy/search/query/QueryModifier.java b/source/net/yacy/search/query/QueryModifier.java index a4b75f34d..5fa2f9e18 100644 --- a/source/net/yacy/search/query/QueryModifier.java +++ b/source/net/yacy/search/query/QueryModifier.java @@ -221,6 +221,7 @@ public class QueryModifier { /** * Parse query string for filetype (file extension) parameter + * and adjust parameter to lowercase * @param querystring * @param filetypePrefix "filetype:" * @return querystring with filetype parameter removed @@ -230,8 +231,9 @@ public class QueryModifier { if ( ftp >= 0 ) { int ftb = querystring.indexOf(' ', ftp); if ( ftb < 0 ) ftb = querystring.length(); - filetype = querystring.substring(ftp + filetypePrefix.length(), ftb); - querystring = querystring.replace(filetypePrefix + filetype, ""); + String tmpqueryparameter = querystring.substring(ftp + filetypePrefix.length(), ftb); + querystring = querystring.replace(filetypePrefix + tmpqueryparameter, ""); // replace prefix:Text as found + filetype = tmpqueryparameter.toLowerCase(); // file extension are always compared lowercase, can be converted here for further processing while ( !filetype.isEmpty() && filetype.charAt(0) == '.' ) { filetype = filetype.substring(1); }