Mercurial > pub > dyncall > bindings
view R/rdyncall/demo/stdio.R @ 63:9b6cdffd30dd
- further fixes of inccorect overflow errors for int (and long on LLP64 systems)
* prev commit had bugs
* added overflow tests for also int, long, long long (for both, lp64 and llp64)
- while at it, fixing a reference leak when not using python with utf8 caching
author | Tassilo Philipp |
---|---|
date | Sun, 19 May 2024 15:33:18 +0200 |
parents | 0cfcc391201f |
children |
line wrap: on
line source
# Package: rdyncall # File: demo/stdio.R # Description: Direct I/O of R raw vectors using C stdio functions dynport(stdio) # test: fopen returns NULL pointer on error nonexisting <- "dummyname" f <- fopen(nonexisting, "r") is.nullptr(f) # test: R raw object read/write tempfile <- "bla" f <- fopen(tempfile, "wb") writebuf <- as.raw(0:255) copy <- writebuf copy[[1]] <- as.raw(0xFF) fwrite(writebuf, 1, length(writebuf), f) fclose(f) f <- fopen(tempfile, "rb") readbuf <- raw(256) copybuf <- readbuf fread(readbuf, 1, length(readbuf), f) copybuf[[1]] <- as.raw(0xFF) fclose(f) identical(readbuf,writebuf)