Method: Rugged::Blob::HashSignature.compare

Defined in:
ext/rugged/rugged_blob.c

.compare(rb_sig_a, rb_sig_b) ⇒ Object


670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
# File 'ext/rugged/rugged_blob.c', line 670

static VALUE rb_git_blob_sig_compare(VALUE self, VALUE rb_sig_a, VALUE rb_sig_b)
{
	git_hashsig *sig_a;
	git_hashsig *sig_b;
	int result;

	if (!rb_obj_is_kind_of(rb_sig_a, rb_cRuggedBlobSig) ||
		!rb_obj_is_kind_of(rb_sig_b, rb_cRuggedBlobSig)) {
		rb_raise(rb_eTypeError, "Expected Rugged::Blob::HashSignature");
	}

	Data_Get_Struct(rb_sig_a, git_hashsig, sig_a);
	Data_Get_Struct(rb_sig_b, git_hashsig, sig_b);

	result = git_hashsig_compare(sig_a, sig_b);

	if (result < 0)
		rugged_exception_check(result);

	return INT2FIX(result);
}