Sat, 15 Nov 2008 23:14:32 +0000
You can never have too many tests
148 | 1 | |
2 | local softreq = function (...) return select(2, pcall(require, ...)); end | |
155
8c9a9f6f6455
Show error when no MD5 lib available
Matthew Wild <mwild1@gmail.com>
parents:
148
diff
changeset
|
3 | local error = error; |
148 | 4 | |
5 | module "hashes" | |
6 | ||
7 | local md5 = softreq("md5"); | |
8 | if md5 then | |
9 | if md5.digest then | |
10 | local md5_digest = md5.digest; | |
11 | local sha1_digest = sha1.digest; | |
12 | function _M.md5(input) | |
13 | return md5_digest(input); | |
14 | end | |
15 | function _M.sha1(input) | |
16 | return sha1_digest(input); | |
17 | end | |
18 | elseif md5.sumhexa then | |
19 | local md5_sumhexa = md5.sumhexa; | |
20 | function _M.md5(input) | |
21 | return md5_sumhexa(input); | |
22 | end | |
23 | else | |
24 | error("md5 library found, but unrecognised... no hash functions will be available", 0); | |
25 | end | |
194 | 26 | else |
27 | error("No md5 library found. Install md5 using luarocks, for example", 0); | |
148 | 28 | end |
29 | ||
30 | return _M; |