ext/digest/xxhash/ext.c in digest-xxhash-0.0.3 vs ext/digest/xxhash/ext.c in digest-xxhash-0.1.0

- old
+ new

@@ -21,11 +21,10 @@ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - #include <ruby.h> #include <ruby/digest.h> #include <stdint.h> #define XXH_STATIC_LINKING_ONLY @@ -61,10 +60,11 @@ static ID _id_new; static ID _id_reset; static ID _id_update; static VALUE _Digest; +static VALUE _Digest_Class; static VALUE _Digest_XXHash; static VALUE _Digest_XXH32; static VALUE _Digest_XXH64; /* @@ -407,11 +407,11 @@ * Updates current digest value with string. */ static VALUE _Digest_XXH32_update(VALUE self, VALUE str) { if (XXH32_update(_get_state_32(self), RSTRING_PTR(str), RSTRING_LEN(str)) != XXH_OK) - rb_raise(rb_eRuntimeError, "Failed to reset state."); + rb_raise(rb_eRuntimeError, "Failed to update state."); return self; } /* :nodoc: */ @@ -555,11 +555,11 @@ * Updates current digest value with string. */ static VALUE _Digest_XXH64_update(VALUE self, VALUE str) { if (XXH64_update(_get_state_64(self), RSTRING_PTR(str), RSTRING_LEN(str)) != XXH_OK) - rb_raise(rb_eRuntimeError, "Failed to reset state."); + rb_raise(rb_eRuntimeError, "Failed to update state."); return self; } /* :nodoc: */ @@ -698,21 +698,24 @@ DEFINE_ID(ifinish) DEFINE_ID(new) DEFINE_ID(reset) DEFINE_ID(update) - #if 0 - _Digest = rb_define_module("Digest"); /* Tell RDoc about Digest since it doesn't recognize rb_path2class. */ - #endif - rb_require("digest"); _Digest = rb_path2class("Digest"); + _Digest_Class = rb_path2class("Digest::Class"); + #if 0 + /* Tell RDoc about Digest and Digest::Class since it doesn't parse rb_path2class. */ + _Digest = rb_define_module("Digest"); + _Digest_Class = rb_define_class_under(_Digest, "Class", rb_cObject); + #endif + /* * Document-class: Digest::XXHash */ - _Digest_XXHash = rb_define_class_under(_Digest, "XXHash", rb_path2class("Digest::Class")); + _Digest_XXHash = rb_define_class_under(_Digest, "XXHash", _Digest_Class); rb_define_method(_Digest_XXHash, "digest", _Digest_XXHash_digest, -1); rb_define_method(_Digest_XXHash, "hexdigest", _Digest_XXHash_hexdigest, -1); rb_define_method(_Digest_XXHash, "idigest", _Digest_XXHash_idigest, -1); rb_define_method(_Digest_XXHash, "idigest!", _Digest_XXHash_idigest_bang, 0);