Class: IO (Ruby 2.5.7)
Description: Class : IO - Ruby 2.5.7

### Home Classes Methods

### In Files

- etc/etc.c

### Parent

Object

### Methods

- #pathconf

### Class/Module Index

Quicksearch

- Etc
- IO
- Object
- Struct

No matching classes.

# IO

### Public Instance Methods

pathconf(p1) click to toggle source

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);
    }