From aa7beea38eb0c7d0150a45c2a49563a9f5724b95 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 4 Sep 2013 23:11:22 +0100 Subject: [PATCH] break out gen_local_part_alphanum --- service | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/service b/service index f9992a3..3e1197d 100755 --- a/service +++ b/service @@ -41,6 +41,7 @@ our $dom; our $user; our $priv; our $showcomment; +our $genmethod = 'alphanum'; sub nextarg () { die "too few arguments\n" unless @ARGV; @@ -160,16 +161,21 @@ sub local_part_inuse ($) { return !!$row; } +sub gen_local_part_alphanum { + my $s = chr(ord('a')+goodrand(26)); + while (length $s < $randlength) { + my $v = goodrand(36); + $s .= chr($v < 26 + ? ord('a')+($v) + : ord('0')+($v-26)); + } + return $s; +} + sub generate_local_part () { my $s; for (;;) { - $s = chr(ord('a')+goodrand(26)); - while (length $s < $randlength) { - my $v = goodrand(36); - $s .= chr($v < 26 - ? ord('a')+($v) - : ord('0')+($v-26)); - } + { no strict qw(refs); $s = &{"gen_local_part_$genmethod"}; } # print STDERR "$s\n"; last if !local_part_inuse($s); } -- 2.30.2