/**
 * Document-method: MessagePack::Unpacker#execute_limit
 *
 * call-seq:
 *   unpacker.unpack_limit(data, offset, limit) -> next offset
 *
 * Deserializes one object over the specified buffer from _offset_ bytes upto _limit_ bytes.
 *
 * This method doesn't use the internal buffer.
 *
 * Call *reset()* method before calling this method again.
 *
 * UnpackError is throw when parse error is occured.
 */
static VALUE MessagePack_Unpacker_execute_limit(VALUE self, VALUE data,
                VALUE off, VALUE limit)
{
        CHECK_STRING_TYPE(data);
        return MessagePack_Unpacker_execute_impl(self, data,
                        (size_t)NUM2ULONG(off), (size_t)NUM2ULONG(limit));
}