X-Git-Url: http://nitlanguage.org diff --git a/lib/sha1.nit b/lib/sha1.nit index e00745c..a80e9f2 100644 --- a/lib/sha1.nit +++ b/lib/sha1.nit @@ -217,8 +217,8 @@ in "C Header" `{ } `} -redef class NativeString - private fun sha1_intern(len: Int): NativeString `{ +redef class CString + private fun sha1_intern(len: Int): CString `{ sha1nfo s; sha1_init(&s); @@ -235,11 +235,11 @@ redef class NativeString `} end -redef class String +redef class Text # Computes the SHA1 of the receiver # - # Returns a digest of 20 bytes as a NativeString, + # Returns a digest of 20 bytes as a CString, # note that all the characters are not necessarily ASCII. # If you want the hex string version of the digest, use # sha1_hexdigest. @@ -257,4 +257,14 @@ redef class String # # assert "The quick brown fox jumps over the lazy dog".sha1_hexdigest == "2FD4E1C67A2D28FCED849EE1BB76E7391B93EB12" fun sha1_hexdigest: String do return sha1.hexdigest + + # Is `self` a SHA-1 hexdigest? + # + #~~~nit + # assert "2FD4E1C67A2D28FCED849EE1BB76E7391B93EB12".is_sha1_digest + # assert not "Not a digest".is_sha1_digest + # assert not "2FD4E1C67A2D28FCED849EE1B76E7391B93EB12".is_sha1_digest + # assert not "2FD4E1C67A2D28FCED849EE1UB76E7391B93EB12".is_sha1_digest + #~~~ + fun is_sha1_digest: Bool do return length == 40 and is_hex end