From 975a466a5e12a50d81af75f127d0e927120a8a8c Mon Sep 17 00:00:00 2001
From: Gerhard Gonter <ggonter@gmail.com>
Date: Tue, 20 Aug 2013 11:51:28 +0200
Subject: [PATCH] added simpler hashing algorithm

---
 textarchive/lib/TA/Hasher.pm | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/textarchive/lib/TA/Hasher.pm b/textarchive/lib/TA/Hasher.pm
index 014c709..83bdbde 100644
--- a/textarchive/lib/TA/Hasher.pm
+++ b/textarchive/lib/TA/Hasher.pm
@@ -9,7 +9,7 @@ package TA::Hasher;
 use Data::Dumper;
 $Data::Dumper::Indent= 1;
 
-my %known_algorithms= map { $_ => 1 } qw(NULL S3C2L P3C3L);
+my %known_algorithms= map { $_ => 1 } qw(NULL S3C1L S3C2L P3C3L);
 
 sub new
 {
@@ -29,7 +29,12 @@ sub new
     $algorithm= $obj->{'algorithm'}= 'NULL';
   }
 
-  if ($algorithm eq 'S3C2L')
+  if ($algorithm eq 'S3C1L')
+  {
+    print "setting up S3C1L\n";
+    $obj->{'mkpo'}= \&TA::Hasher::S3C1L::mkpo;
+  }
+  elsif ($algorithm eq 'S3C2L')
   {
     print "setting up S3C2L\n";
     $obj->{'mkpo'}= \&TA::Hasher::S3C2L::mkpo;
@@ -115,6 +120,23 @@ sub mkpo
   return { 'L' => [] };
 }
 
+package TA::Hasher::S3C1L;
+
+sub mkpo
+{
+  my $S= shift;
+
+  return undef unless (defined ($S));
+
+  my @L;
+
+  if ($S =~ m#(.{1,3})$#)
+       { @L= ( $1 ); }
+  else { @L= ( $S ); }
+
+  return { 'L' => \@L };
+}
+
 package TA::Hasher::S3C2L;
 
 sub mkpo
-- 
GitLab