chiark / gitweb /
Break out quiz.pl
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 6 Jun 2023 19:39:02 +0000 (20:39 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 6 Jun 2023 19:52:13 +0000 (20:52 +0100)
bcp5-registry.pl
quiz.pl [new file with mode: 0644]

index b0c7690461427105496b310b26a2f61105e42c85..5447771e9bf522e78c9e8baa13fcbeb326f627d7 100755 (executable)
@@ -76,6 +76,7 @@ require 'utils.pl';
 require 'networks.pl';
 require 'listdb.pl';
 require 'passwords.pl';
+require 'quiz.pl';
 
 if (!($invokestyle eq 'manual' || $invokestyle eq 'maintain')) {
     lock_database();
@@ -205,12 +206,7 @@ if ($invokestyle eq 'maintain') {
     
 } elsif (length $in{'mailpasswd'}) {
 
-    if (! $in{'quiz'}) {
-        finish_error('noquiz');
-    } elsif ($in{'quiz'} !~ m{^(?:bcp5|rfc1918)$}i) {
-        finish_error('badquiz');
-    }
-
+    quiz_check_answer();
     read_database();
     get_entry();
     show_entry();
diff --git a/quiz.pl b/quiz.pl
new file mode 100644 (file)
index 0000000..7737ebd
--- /dev/null
+++ b/quiz.pl
@@ -0,0 +1,11 @@
+#!/usr/bin/perl
+
+sub quiz_check_answer () {
+    if (! $in{'quiz'}) {
+        finish_error('noquiz');
+    } elsif ($in{'quiz'} !~ m{^(?:bcp5|rfc1918)$}i) {
+        finish_error('badquiz');
+    }
+}
+
+1;