Returns pathname configuration variable using fpathconf().
name should be a constant under Etc
which begins with
PC_
.
The return value is an integer or nil. nil means indefinite limit. (fpathconf() returns -1 but errno is not set.)
require 'etc' IO.pipe {|r, w| p w.pathconf(Etc::PC_PIPE_BUF) #=> 4096 }
static VALUE io_pathconf(VALUE io, VALUE arg) { int name; long ret; rb_io_t *fptr; name = NUM2INT(arg); GetOpenFile(io, fptr); errno = 0; ret = fpathconf(fptr->fd, name); if (ret == -1) { if (errno == 0) /* no limit */ return Qnil; rb_sys_fail("fpathconf"); } return LONG2NUM(ret); }