summaryrefslogtreecommitdiff
path: root/io_buffer.c
AgeCommit message (Collapse)Author
2024-10-18merge revision(s) 35e124832e29b65c84d4e0e4e434616859f9bdf5: [Backport #20755]nagachika
[Bug #20755] Frozen string should not be writable via IO::Buffer
2024-10-18merge revision(s) 637067440f74043c6d79fc649ab8acf1afea25a5: [Backport #20752]nagachika
[Bug #20752] Slice of readonly `IO::Buffer` also should be readonly
2024-10-04Fix size calcuation when offset is given + updated documentation.Samuel Williams
2024-05-18Fix `io_buffer_get_string` default length computation. (#8427)Samuel Williams
* Fix `io_buffer_get_string` default length computation. When an offset bigger than the size is given, the resulting length will be computed incorrectly. Raise an argument error in this case. * Validate all arguments.
2024-05-18Improvements to `IO::Buffer` `read`/`write`/`pread`/`pwrite`. (#7826)Samuel Williams
- Fix IO::Buffer `read`/`write` to use a minimum length.
2024-05-18Rename `data` -> `buffer` for better readability. (#7836)Samuel Williams
2024-05-18Adjust `else` style to be consistent in each files [ci skip]Nobuyoshi Nakada
2023-10-28merge revision(s) 19346c2336053b351673da030b00c704138252d8: [Backport #19754]nagachika
[Bug #19754] Make `IO::Buffer#get_string` check `offset` range (#8016) --- io_buffer.c | 3 +++ test/ruby/test_io_buffer.rb | 8 ++++++++ 2 files changed, 11 insertions(+)
2023-07-16merge revision(s) bd786e78969f9d4a8699376ceafe10934b6ad533: [Backport #19084]nagachika
Fix mutation on shared strings. (#7837) --- io_buffer.c | 19 ++++++++++++------- test/ruby/test_io_buffer.rb | 4 ---- 2 files changed, 12 insertions(+), 11 deletions(-)
2023-07-16merge revision(s) 466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf: [Backport #19546]nagachika
Fix incorrect usage of `rb_fiber_scheduler_io_(p)(read|write)`. (#7593) --- io_buffer.c | 8 ++++---- scheduler.c | 48 ++++++++++++++++++++++---------------------- test/fiber/test_io_buffer.rb | 33 ++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 28 deletions(-)
2023-07-16merge revision(s) 09295ea796900fb7b05d29e93364090e21598566: [Backport #19543]nagachika
IO::Buffer#resize: Free internal buffer if new size is zero (#7569) `#resize(0)` on an IO::Buffer with internal buffer allocated will result in calling `realloc(data->base, 0)`. The behavior of `realloc` with size = 0 is implementation-defined (glibc frees the object and returns NULL, while BSDs return an inaccessible object). And thus such usage is deprecated in standard C (upcoming C23 will make it UB). To avoid this problem, just `free`s the memory when the new size is zero. --- io_buffer.c | 5 +++++ test/ruby/test_io_buffer.rb | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+)
2023-03-09merge revision(s) 3b567eb491e460e00a66fdea8054eeb083b5dafd: [Backport #19459]NARUSE, Yui
[Bug #19459] Remove unnecessary always-true checks (#7362) `length` is a required argument for `IO::Buffer#read` and `IO::Buffer#write` methods, and `argc` is already checked with `rb_check_arity`. Also fix the call-seq of `IO::Buffer#read`. --- io_buffer.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-)
2022-12-24[DOC] Document new methods of IO::Buffer and Fiber::Scheduler (#7016)Victor Shepelev
Co-authored-by: Samuel Williams <samuel.williams@oriontransfer.co.nz> Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-12-24Fix missing handling of offset argument in `IO::Buffer` `pread` and ↵Samuel Williams
`pwrite`. (#7012) Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-12-02Use consistent style [ci skip]Nobuyoshi Nakada
2022-11-20Fix typos (#6775)Yudai Takada
* s/Innteger/Integer/ * s/diretory/directory/ * s/Bufer/Buffer/ * s/defalt/default/ * s/covearge/coverage/ Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-11-16Using UNDEF_P macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/6721
2022-11-03[DOC] Fix IO::Buffer#slice rdoc positionYusuke Nakamura
Before this change, rdoc shows empty in 'slice' method section Notes: Merged: https://github.com/ruby/ruby/pull/6668
2022-10-26Fix format specifiers for `size_t`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6634
2022-10-19Add support for anonymous shared IO buffers. (#6580)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-12Improvements to IO::Buffer implementation and documentation. (#6525)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-09-26Update `IO::Buffer` read/write to use rb_thread_io_blocking_region. (#6438)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-09-26Add several new methods for getting and setting buffer contents. (#6434)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-09-08[Bug #5317] Use `rb_off_t` instead of `off_t`Nobuyoshi Nakada
Get rid of the conflict with system-provided small `off_t`. Notes: Merged: https://github.com/ruby/ruby/pull/6329
2022-07-27Adjust styles [ci skip]Nobuyoshi Nakada
2022-07-27Append semicolons [ci skip]Nobuyoshi Nakada
2022-07-27Make indents and newlines consistent [ci skip]Nobuyoshi Nakada
2022-06-25Fix a variable name typo in the docsShannon Skipper
Notes: Merged: https://github.com/ruby/ruby/pull/6060
2022-06-23Fix warnings by old gccNobuyoshi Nakada
* Use PRIxSIZE instead of "z" * Fix sign-compare warning * Suppress unused-but-set-variable warning
2022-05-09Add basic binary operators (and, or, xor, not) to `IO::Buffer`. (#5893)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-05-09Fix rdoc of IO::Buffer [ci skip]Kazuhiro NISHIYAMA
2022-05-09Explicit handling of frozen strings in `IO::Buffer#for`. (#5892)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-01-07io_buffer.c: use mremap based resizing only when mremap availableYuta Saito
some libc implementations (e.g. wasi-libc) define MREMAP_MAYMOVE, but don't have mremap itself, so guard the use of mremap by HAVE_MREMAP Notes: Merged: https://github.com/ruby/ruby/pull/5401
2022-01-02Remove UTF-8 from documentation.Samuel Williams
2022-01-02[DOC] Adjust IO::Buffer docs (#5374)Victor Shepelev
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2021-12-25Fix typos [ci skip]Kazuhiro NISHIYAMA
2021-12-23Add fiber scheduler hooks for `pread`/`pwrite`, and add support to `IO::Buffer`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5249 Merged-By: ioquatix <samuel@codeotaku.com>
2021-12-22Extended interface for IO::Buffer & documentation.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5314 Merged-By: ioquatix <samuel@codeotaku.com>
2021-12-21Rename IMMUTABLE to READONLY.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Improve interface for get/set/copy.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Fix handling of clear with offset and without length.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Mark non-private mapped files as external.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Default `IO::Buffer#get_string` to use BINARY encoding.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Rename `to_str` -> `get_string` and add support for encodings.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Improved exception usage/classes.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Fix handling of frozens strings.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-21Fix mapping invalid non-file object.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5303
2021-12-20Improve IO::Buffer resize and introduce ownership transfer.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5301
2021-12-19Default size for IO::Buffer.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5300
2021-12-19Fix spelling of DECLAIR_TYPE.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5296