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);