summaryrefslogtreecommitdiff
path: root/io_buffer.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-05 20:23:27 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-09-08 23:01:07 +0900
commite2ccb316b437104cd1734c378970d34f5305966d (patch)
treee6544bb77416690a8e79d9ca925aaa877bfa60a7 /io_buffer.c
parent55fef084dac843caf155f03077773704b36e139e (diff)
downloadruby-e2ccb316b437104cd1734c378970d34f5305966d.tar.gz
[Bug #5317] Use `rb_off_t` instead of `off_t`
Get rid of the conflict with system-provided small `off_t`.
Diffstat (limited to 'io_buffer.c')
-rw-r--r--io_buffer.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/io_buffer.c b/io_buffer.c
index 6ce0dd13df..98f1da1fc1 100644
--- a/io_buffer.c
+++ b/io_buffer.c
@@ -64,7 +64,7 @@ io_buffer_map_memory(size_t size)
}
static void
-io_buffer_map_file(struct rb_io_buffer *data, int descriptor, size_t size, off_t offset, enum rb_io_buffer_flags flags)
+io_buffer_map_file(struct rb_io_buffer *data, int descriptor, size_t size, rb_off_t offset, enum rb_io_buffer_flags flags)
{
#if defined(_WIN32)
HANDLE file = (HANDLE)_get_osfhandle(descriptor);
@@ -409,7 +409,7 @@ rb_io_buffer_new(void *base, size_t size, enum rb_io_buffer_flags flags)
}
VALUE
-rb_io_buffer_map(VALUE io, size_t size, off_t offset, enum rb_io_buffer_flags flags)
+rb_io_buffer_map(VALUE io, size_t size, rb_off_t offset, enum rb_io_buffer_flags flags)
{
io_buffer_experimental();
@@ -478,7 +478,7 @@ io_buffer_map(int argc, VALUE *argv, VALUE klass)
size = RB_NUM2SIZE(argv[1]);
}
else {
- off_t file_size = rb_file_size(io);
+ rb_off_t file_size = rb_file_size(io);
// Compiler can confirm that we handled file_size < 0 case:
if (file_size < 0) {
@@ -494,7 +494,7 @@ io_buffer_map(int argc, VALUE *argv, VALUE klass)
}
}
- off_t offset = 0;
+ rb_off_t offset = 0;
if (argc >= 3) {
offset = NUM2OFFT(argv[2]);
}
@@ -2037,7 +2037,7 @@ io_buffer_read(VALUE self, VALUE io, VALUE length)
}
VALUE
-rb_io_buffer_pread(VALUE self, VALUE io, size_t length, off_t offset)
+rb_io_buffer_pread(VALUE self, VALUE io, size_t length, rb_off_t offset)
{
VALUE scheduler = rb_fiber_scheduler_current();
if (scheduler != Qnil) {
@@ -2063,16 +2063,16 @@ rb_io_buffer_pread(VALUE self, VALUE io, size_t length, off_t offset)
ssize_t result = pread(descriptor, base, size, offset);
#else
// This emulation is not thread safe, but the GVL means it's unlikely to be a problem.
- off_t current_offset = lseek(descriptor, 0, SEEK_CUR);
- if (current_offset == (off_t)-1)
+ rb_off_t current_offset = lseek(descriptor, 0, SEEK_CUR);
+ if (current_offset == (rb_off_t)-1)
return rb_fiber_scheduler_io_result(-1, errno);
- if (lseek(descriptor, offset, SEEK_SET) == (off_t)-1)
+ if (lseek(descriptor, offset, SEEK_SET) == (rb_off_t)-1)
return rb_fiber_scheduler_io_result(-1, errno);
ssize_t result = read(descriptor, base, size);
- if (lseek(descriptor, current_offset, SEEK_SET) == (off_t)-1)
+ if (lseek(descriptor, current_offset, SEEK_SET) == (rb_off_t)-1)
return rb_fiber_scheduler_io_result(-1, errno);
#endif
@@ -2120,7 +2120,7 @@ io_buffer_write(VALUE self, VALUE io, VALUE length)
}
VALUE
-rb_io_buffer_pwrite(VALUE self, VALUE io, size_t length, off_t offset)
+rb_io_buffer_pwrite(VALUE self, VALUE io, size_t length, rb_off_t offset)
{
VALUE scheduler = rb_fiber_scheduler_current();
if (scheduler != Qnil) {
@@ -2146,16 +2146,16 @@ rb_io_buffer_pwrite(VALUE self, VALUE io, size_t length, off_t offset)
ssize_t result = pwrite(descriptor, base, length, offset);
#else
// This emulation is not thread safe, but the GVL means it's unlikely to be a problem.
- off_t current_offset = lseek(descriptor, 0, SEEK_CUR);
- if (current_offset == (off_t)-1)
+ rb_off_t current_offset = lseek(descriptor, 0, SEEK_CUR);
+ if (current_offset == (rb_off_t)-1)
return rb_fiber_scheduler_io_result(-1, errno);
- if (lseek(descriptor, offset, SEEK_SET) == (off_t)-1)
+ if (lseek(descriptor, offset, SEEK_SET) == (rb_off_t)-1)
return rb_fiber_scheduler_io_result(-1, errno);
ssize_t result = write(descriptor, base, length);
- if (lseek(descriptor, current_offset, SEEK_SET) == (off_t)-1)
+ if (lseek(descriptor, current_offset, SEEK_SET) == (rb_off_t)-1)
return rb_fiber_scheduler_io_result(-1, errno);
#endif