mirror of
https://github.com/ruby/ruby.git
synced 2026-01-26 12:14:51 +00:00
[ruby/zlib] Initialize const member
```
/github/workspace/src/ext/zlib/zlib.c:2608:25: warning: default initialization of an object of type 'struct read_raw_arg' with const member leaves the object uninitialized [-Wdefault-const-init-field-unsafe]
2608 | struct read_raw_arg ra;
| ^
/github/workspace/src/ext/zlib/zlib.c:2450:14: note: member 'argv' declared 'const' here
2450 | const VALUE argv[2]; /* for rb_funcallv */
| ^
```
https://github.com/ruby/zlib/commit/dfa1fcbd37
This commit is contained in:
parent
7989a2ff46
commit
db35784895
@ -2444,17 +2444,16 @@ struct gzfile {
|
||||
|
||||
#define GZFILE_READ_SIZE 2048
|
||||
|
||||
enum { read_raw_arg_len, read_raw_arg_buf, read_raw_arg__count};
|
||||
struct read_raw_arg {
|
||||
VALUE io;
|
||||
union {
|
||||
const VALUE argv[2]; /* for rb_funcallv */
|
||||
struct {
|
||||
VALUE len;
|
||||
VALUE buf;
|
||||
} in;
|
||||
} as;
|
||||
const VALUE argv[read_raw_arg__count]; /* for rb_funcallv */
|
||||
};
|
||||
|
||||
#define read_raw_arg_argc(ra) \
|
||||
((int)read_raw_arg__count - NIL_P((ra)->argv[read_raw_arg__count - 1]))
|
||||
#define read_raw_arg_init(io, len, buf) { io, { len, buf } }
|
||||
|
||||
static void
|
||||
gzfile_mark(void *p)
|
||||
{
|
||||
@ -2580,9 +2579,9 @@ gzfile_read_raw_partial(VALUE arg)
|
||||
{
|
||||
struct read_raw_arg *ra = (struct read_raw_arg *)arg;
|
||||
VALUE str;
|
||||
int argc = NIL_P(ra->as.argv[1]) ? 1 : 2;
|
||||
int argc = read_raw_arg_argc(ra);
|
||||
|
||||
str = rb_funcallv(ra->io, id_readpartial, argc, ra->as.argv);
|
||||
str = rb_funcallv(ra->io, id_readpartial, argc, ra->argv);
|
||||
Check_Type(str, T_STRING);
|
||||
return str;
|
||||
}
|
||||
@ -2593,8 +2592,8 @@ gzfile_read_raw_rescue(VALUE arg, VALUE _)
|
||||
struct read_raw_arg *ra = (struct read_raw_arg *)arg;
|
||||
VALUE str = Qnil;
|
||||
if (rb_obj_is_kind_of(rb_errinfo(), rb_eNoMethodError)) {
|
||||
int argc = NIL_P(ra->as.argv[1]) ? 1 : 2;
|
||||
str = rb_funcallv(ra->io, id_read, argc, ra->as.argv);
|
||||
int argc = read_raw_arg_argc(ra);
|
||||
str = rb_funcallv(ra->io, id_read, argc, ra->argv);
|
||||
if (!NIL_P(str)) {
|
||||
Check_Type(str, T_STRING);
|
||||
}
|
||||
@ -2605,11 +2604,8 @@ gzfile_read_raw_rescue(VALUE arg, VALUE _)
|
||||
static VALUE
|
||||
gzfile_read_raw(struct gzfile *gz, VALUE outbuf)
|
||||
{
|
||||
struct read_raw_arg ra;
|
||||
|
||||
ra.io = gz->io;
|
||||
ra.as.in.len = INT2FIX(GZFILE_READ_SIZE);
|
||||
ra.as.in.buf = outbuf;
|
||||
struct read_raw_arg ra =
|
||||
read_raw_arg_init(gz->io, INT2FIX(GZFILE_READ_SIZE), outbuf);
|
||||
|
||||
return rb_rescue2(gzfile_read_raw_partial, (VALUE)&ra,
|
||||
gzfile_read_raw_rescue, (VALUE)&ra,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user