[Ruby] Fix mismatched pointer type (#17240)

This PR fixes the following error on windows ruby 3.4 (head):

```
current directory:
D:/a/sass-embedded-host-ruby/sass-embedded-host-ruby/vendor/bundle/ruby/3.4.0+0/gems/google-protobuf-4.27.1/ext/google/protobuf_c
make.exe DESTDIR\= sitearchdir\=./.gem.20240623-6612-4umz58
sitelibdir\=./.gem.20240623-6612-4umz58
generating protobuf_c-x64-mingw-ucrt.def
compiling protobuf.c
compiling convert.c
compiling defs.c
defs.c: In function 'MethodDescriptor_initialize':
defs.c:1513:19: error: assignment to 'const upb_MethodDef *' from incompatible
pointer type 'const upb_ServiceDef *' [-Wincompatible-pointer-types]
 1513 |   self->methoddef = (const upb_ServiceDef*)NUM2ULL(ptr);
      |                   ^
make: *** [Makefile:250: defs.o] Error 1

make failed, exit code 2
```

- Closes #17266

Closes #17240

COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/17240 from ntkme:fix-ruby-upb-pointer-type 22e9859c57
PiperOrigin-RevId: 648923147
pull/17306/head
なつき 7 months ago committed by Copybara-Service
parent 6d0c9d511a
commit 0aa7449752
  1. 2
      ruby/ext/google/protobuf_c/defs.c

@ -1510,7 +1510,7 @@ static VALUE MethodDescriptor_initialize(VALUE _self, VALUE cookie,
}
RB_OBJ_WRITE(_self, &self->descriptor_pool, descriptor_pool);
self->methoddef = (const upb_ServiceDef*)NUM2ULL(ptr);
self->methoddef = (const upb_MethodDef*)NUM2ULL(ptr);
return Qnil;
}

Loading…
Cancel
Save