This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 49082f48 Allow for single letter filter
49082f48 is described below

commit 49082f48fab821bdf405884352703a8d027c5baa
Author: sebbASF <[email protected]>
AuthorDate: Tue Mar 28 08:41:16 2023 +0100

    Allow for single letter filter
---
 www/members/mailing_lists.cgi | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/www/members/mailing_lists.cgi b/www/members/mailing_lists.cgi
index 78edec07..c54240af 100755
--- a/www/members/mailing_lists.cgi
+++ b/www/members/mailing_lists.cgi
@@ -43,11 +43,15 @@ query = ENV['QUERY_STRING']
 # Only allow letters in the query string so it is safe to use
 if query =~ %r{^filter=([a-zA-Z]+)$}
   # Convert xmU into m.......U..x
-  letters = []
-  $1.split('').sort_by(&:upcase).each_cons(2).with_index do |(a, b), i|
-    letters << a if i == 0
-    (b.upcase.ord - a.upcase.ord - 1).times {letters << '.'}
-    letters << b
+  if $1.length > 1
+    letters = []
+    $1.split('').sort_by(&:upcase).each_cons(2).with_index do |(a, b), i|
+      letters << a if i == 0
+      (b.upcase.ord - a.upcase.ord - 1).times {letters << '.'}
+      letters << b
+    end
+  else
+    letters << $1
   end
   filter = Regexp.new(letters.join)
 else

Reply via email to