| Ruby
    2.5.0dev(2017-10-22revision60238)
    | 
#include "id.h"#include "internal.h"#include "ruby/io.h"#include "ruby/util.h"#include "ruby/thread.h"#include "dln.h"#include "encindex.h"#include <ctype.h>#include <time.h>#include <sys/types.h>#include <sys/stat.h>Go to the source code of this file.
| Data Structures | |
| struct | no_gvl_stat_data | 
| struct | chown_args | 
| struct | utime_args | 
| struct | utimbuf | 
| struct | rename_args | 
| Macros | |
| #define | MAXPATHLEN 1024 | 
| #define | lstat stat | 
| #define | STAT(p, s) stat((p), (s)) | 
| #define | USE_OSPATH 0 | 
| #define | TO_OSPATH(str) (str) | 
| #define | insecure_obj_p(obj, level) ((level) > 0 && OBJ_TAINTED(obj)) | 
| #define | NORMALIZE_UTF8PATH 0 | 
| #define | apply2args(n) (rb_check_arity(argc, n, UNLIMITED_ARGUMENTS), argc-=n) | 
| #define | ST2UINT(val) ((val) & ~(~1UL << (sizeof(val) * CHAR_BIT - 1))) | 
| #define | NUM2DEVT(v) NUM2UINT(v) | 
| #define | DEVT2NUM(v) UINT2NUM(v) | 
| #define | PRI_DEVT_PREFIX "" | 
| #define | HAVE_STAT_BIRTHTIME | 
| #define | rb_stat_birthtime rb_f_notimplement | 
| #define | S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) | 
| #define | S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) | 
| #define | S_ISBLK(m) (0) /* anytime false */ | 
| #define | S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) | 
| #define | S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH) | 
| #define | S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH) | 
| #define | S_ISREG(m) (((m) & S_IFMT) == S_IFREG) | 
| #define | rb_file_s_birthtime rb_f_notimplement | 
| #define | rb_file_birthtime rb_f_notimplement | 
| #define | rb_file_s_lchmod rb_f_notimplement | 
| #define | rb_file_s_lchown rb_f_notimplement | 
| #define | utime_failed(path, tsp, atime, mtime) rb_sys_fail_path(path) | 
| #define | syserr_fail2_in(func, e, s1, s2) syserr_fail2(e, s1, s2) | 
| #define | sys_fail2(s1, s2) syserr_fail2(errno, s1, s2) | 
| #define | rb_file_s_link rb_f_notimplement | 
| #define | rb_file_s_symlink rb_f_notimplement | 
| #define | rb_file_s_readlink rb_f_notimplement | 
| #define | isdirsep(x) ((x) == '/') | 
| #define | USE_NTFS 0 | 
| #define | USE_NTFS_ADS 0 | 
| #define | istrailinggarbage(x) 0 | 
| #define | isADS(x) 0 | 
| #define | Next(p, e, enc) ((p) + rb_enc_mbclen((p), (e), (enc))) | 
| #define | Inc(p, e, enc) ((p) = Next((p), (e), (enc))) | 
| #define | has_unc(buf) 0 | 
| #define | nextdirsep rb_enc_path_next | 
| #define | skipprefix(path, end, enc) (path) | 
| #define | strrdirsep rb_enc_path_last_separator | 
| #define | BUFCHECK(cond) | 
| #define | BUFINIT() | 
| #define | SKIPPATHSEP(p) 1 | 
| #define | BUFCOPY(srcptr, srclen) | 
| #define | WITH_ROOTDIFF(stmt) | 
| #define | endpwent() ((void)0) | 
| #define | EXPAND_PATH_BUFFER() rb_usascii_str_new(0, MAXPATHLEN + 2) | 
| #define | expand_path(fname, dname, abs_mode, long_name, result) str_shrink(rb_file_expand_path_internal(fname, dname, abs_mode, long_name, result)) | 
| #define | check_expand_path_args(fname, dname) | 
| #define | fncomp strncmp | 
| #define | rb_file_s_truncate rb_f_notimplement | 
| #define | rb_file_truncate rb_f_notimplement | 
| #define | LOCK_SH 1 | 
| #define | LOCK_EX 2 | 
| #define | LOCK_NB 4 | 
| #define | LOCK_UN 8 | 
| #define | CHECK(n) test_check((n), argc, argv) | 
| #define | rb_file_s_mkfifo rb_f_notimplement | 
| #define | ENABLE_PATH_CHECK 1 | 
| #define | S_IWOTH 002 | 
| #define | fpath_check(path) path_check_0((path), FALSE) | 
| #define | O_BINARY 0 | 
| #define | O_SHARE_DELETE 0 | 
| Typedefs | |
| typedef struct no_gvl_stat_data | no_gvl_stat_data | 
| Enumerations | |
| enum | rb_realpath_mode { RB_REALPATH_CHECK, RB_REALPATH_DIR, RB_REALPATH_STRICT, RB_REALPATH_MODE_MAX } | 
| Variables | |
| VALUE | rb_cFile | 
| VALUE | rb_mFileTest | 
| VALUE | rb_cStat | 
| VALUE | rb_mFConst | 
| #define apply2args | ( | n | ) | (rb_check_arity(argc, n, UNLIMITED_ARGUMENTS), argc-=n) | 
| #define BUFCHECK | ( | cond | ) | 
Definition at line 3222 of file file.c.
Referenced by rb_file_expand_path_internal().
| #define BUFCOPY | ( | srcptr, | |
| srclen | |||
| ) | 
| #define BUFINIT | ( | ) | 
Definition at line 3233 of file file.c.
Referenced by rb_file_expand_path_internal().
| #define check_expand_path_args | ( | fname, | |
| dname | |||
| ) | 
Definition at line 3764 of file file.c.
Referenced by rb_file_absolute_path(), and rb_file_expand_path().
| #define endpwent | ( | ) | ((void)0) | 
| #define expand_path | ( | fname, | |
| dname, | |||
| abs_mode, | |||
| long_name, | |||
| result | |||
| ) | str_shrink(rb_file_expand_path_internal(fname, dname, abs_mode, long_name, result)) | 
Definition at line 3761 of file file.c.
Referenced by rb_file_absolute_path(), rb_file_expand_path(), and rb_file_expand_path_fast().
| #define EXPAND_PATH_BUFFER | ( | ) | rb_usascii_str_new(0, MAXPATHLEN + 2) | 
Definition at line 3752 of file file.c.
Referenced by rb_file_absolute_path(), rb_file_expand_path(), and rb_file_expand_path_fast().
| #define fncomp strncmp | 
| #define Inc | ( | p, | |
| e, | |||
| enc | |||
| ) | ((p) = Next((p), (e), (enc))) | 
Definition at line 3034 of file file.c.
Referenced by rb_enc_path_last_separator(), rb_enc_path_next(), and ruby_enc_find_extname().
| #define insecure_obj_p | ( | obj, | |
| level | |||
| ) | ((level) > 0 && OBJ_TAINTED(obj)) | 
Definition at line 143 of file file.c.
Referenced by rb_get_path_check_to_string().
| #define isADS | ( | x | ) | 0 | 
Definition at line 3030 of file file.c.
Referenced by ruby_enc_find_extname().
| #define isdirsep | ( | x | ) | ((x) == '/') | 
Definition at line 3004 of file file.c.
Referenced by rb_enc_path_end(), rb_enc_path_last_separator(), rb_enc_path_next(), rb_enc_path_skip_prefix(), rb_file_expand_path_internal(), rb_is_absolute_path(), ruby_enc_find_basename(), and ruby_enc_find_extname().
| #define istrailinggarbage | ( | x | ) | 0 | 
Definition at line 3025 of file file.c.
Referenced by ruby_enc_find_extname().
| #define Next | ( | p, | |
| e, | |||
| enc | |||
| ) | ((p) + rb_enc_mbclen((p), (e), (enc))) | 
| #define nextdirsep rb_enc_path_next | 
Definition at line 3107 of file file.c.
Referenced by rb_file_expand_path_internal().
| #define O_BINARY 0 | 
| #define O_SHARE_DELETE 0 | 
| #define rb_file_birthtime rb_f_notimplement | 
| #define rb_file_s_birthtime rb_f_notimplement | 
| #define rb_file_s_lchmod rb_f_notimplement | 
| #define rb_file_s_lchown rb_f_notimplement | 
| #define rb_file_s_link rb_f_notimplement | 
| #define rb_file_s_mkfifo rb_f_notimplement | 
| #define rb_file_s_readlink rb_f_notimplement | 
| #define rb_file_s_symlink rb_f_notimplement | 
| #define rb_file_s_truncate rb_f_notimplement | 
| #define rb_file_truncate rb_f_notimplement | 
| #define rb_stat_birthtime rb_f_notimplement | 
| #define S_ISBLK | ( | m | ) | (0) /* anytime false */ | 
| #define S_ISCHR | ( | m | ) | (((m) & S_IFMT) == S_IFCHR) | 
| #define S_ISDIR | ( | m | ) | (((m) & S_IFMT) == S_IFDIR) | 
Referenced by ruby_is_fd_loadable().
| #define S_ISREG | ( | m | ) | (((m) & S_IFMT) == S_IFREG) | 
Definition at line 1782 of file file.c.
Referenced by ruby_is_fd_loadable().
| #define S_IWOTH 002 | 
| #define skipprefix | ( | path, | |
| end, | |||
| enc | |||
| ) | (path) | 
Definition at line 3120 of file file.c.
Referenced by ruby_enc_find_basename().
| #define STAT | ( | p, | |
| s | |||
| ) | stat((p), (s)) | 
| #define strrdirsep rb_enc_path_last_separator | 
Definition at line 3155 of file file.c.
Referenced by ruby_enc_find_basename(), and ruby_enc_find_extname().
| #define syserr_fail2_in | ( | func, | |
| e, | |||
| s1, | |||
| s2 | |||
| ) | syserr_fail2(e, s1, s2) | 
| #define utime_failed | ( | path, | |
| tsp, | |||
| atime, | |||
| mtime | |||
| ) | rb_sys_fail_path(path) | 
| #define WITH_ROOTDIFF | ( | stmt | ) | 
| typedef struct no_gvl_stat_data no_gvl_stat_data | 
| enum rb_realpath_mode | 
| int eaccess | ( | const char * | path, | 
| int | mode | ||
| ) | 
| void Init_File | ( | void | ) | 
Definition at line 6081 of file file.c.
References rb_cFile, rb_cIO, rb_define_class(), rb_define_module(), and rb_mFileTest.
| NORETURN | ( | static void | syserr_fail2_inconst char *, int, VALUE, VALUE | ) | 
Definition at line 4086 of file file.c.
Referenced by rb_file_s_absolute_path().
Definition at line 3327 of file file.c.
Referenced by rb_file_expand_path_internal().
| char* rb_enc_path_end | ( | const char * | path, | 
| const char * | end, | ||
| rb_encoding * | enc | ||
| ) | 
| char* rb_enc_path_last_separator | ( | const char * | path, | 
| const char * | end, | ||
| rb_encoding * | enc | ||
| ) | 
| char* rb_enc_path_next | ( | const char * | s, | 
| const char * | e, | ||
| rb_encoding * | enc | ||
| ) | 
Definition at line 3109 of file file.c.
Referenced by rb_enc_path_skip_prefix().
| char* rb_enc_path_skip_prefix | ( | const char * | path, | 
| const char * | end, | ||
| rb_encoding * | enc | ||
| ) | 
Definition at line 3123 of file file.c.
References isdirsep, and rb_enc_path_next().
Definition at line 3823 of file file.c.
References check_expand_path_args, expand_path, and EXPAND_PATH_BUFFER.
Referenced by rb_f_require_relative(), and rb_file_s_absolute_path().
Definition at line 5713 of file file.c.
References rb_define_const().
Definition at line 4317 of file file.c.
References FilePathStringValue, name, rb_enc_get(), RSTRING_LEN, and StringValueCStr.
Referenced by rb_f_require_relative().
Definition at line 3775 of file file.c.
References check_expand_path_args, expand_path, and EXPAND_PATH_BUFFER.
Referenced by rb_file_s_expand_path().
Definition at line 3782 of file file.c.
References expand_path, and EXPAND_PATH_BUFFER.
Referenced by rb_feature_provided().
| VALUE rb_file_expand_path_internal | ( | VALUE | fname, | 
| VALUE | dname, | ||
| int | abs_mode, | ||
| int | long_name, | ||
| VALUE | result | ||
| ) | 
Definition at line 3397 of file file.c.
Referenced by rb_file_expand_path_internal().
Definition at line 3843 of file file.c.
References Qnil, rb_check_arity, rb_check_realpath(), rb_file_absolute_path(), and rb_realpath_internal().
Definition at line 3816 of file file.c.
References Qnil, rb_check_arity, and rb_file_expand_path().
Definition at line 5965 of file file.c.
References rb_find_file_safe(), and rb_safe_level().
Definition at line 5893 of file file.c.
References rb_find_file_ext_safe(), and rb_safe_level().
Definition at line 5899 of file file.c.
References f, and StringValueCStr.
Referenced by rb_find_file_ext().
Definition at line 5971 of file file.c.
References f, and StringValueCStr.
Referenced by rb_find_file().
Definition at line 226 of file file.c.
References rb_get_path_check(), and rb_safe_level().
Referenced by rb_feature_provided().
Definition at line 213 of file file.c.
References rb_get_path_check_convert(), and rb_get_path_check_to_string().
Referenced by rb_get_path(), rb_get_path_no_checksafe(), and rb_require_internal().
Definition at line 197 of file file.c.
Referenced by rb_get_path_check().
Definition at line 178 of file file.c.
References CONST_ID, insecure_obj_p, rb_check_funcall_default(), rb_insecure_operation(), RB_TYPE_P, StringValue, and T_STRING.
Referenced by rb_get_path_check().
Definition at line 220 of file file.c.
References rb_get_path_check().
Definition at line 3287 of file file.c.
Referenced by rb_file_expand_path_internal().
| int rb_is_absolute_path | ( | const char * | path | ) | 
Definition at line 5719 of file file.c.
References isdirsep.
Referenced by rb_file_expand_path_internal().
| int rb_path_check | ( | const char * | path | ) | 
Definition at line 5798 of file file.c.
References PATH_SEP_CHAR, strchr(), and strlen().
Definition at line 4078 of file file.c.
References RB_REALPATH_DIR, and RB_REALPATH_STRICT.
Referenced by rb_file_s_absolute_path().
Definition at line 232 of file file.c.
References gzfile::enc, ENCINDEX_ASCII, ENCINDEX_UTF_8, ENCODING_GET, FALSE, len, MBCLEN_CHARFOUND_LEN, MBCLEN_CHARFOUND_P, NULL, gzfile::path, rb_enc_associate(), rb_enc_from_index(), rb_enc_mbc_to_codepoint, rb_enc_precise_mbclen(), rb_filesystem_encindex(), rb_str_buf_new(), rb_str_cat(), rb_str_conv_enc(), rb_str_modify_expand(), rb_str_set_len(), rb_utf8_encoding(), RSTRING_LEN, and RSTRING_PTR.
Referenced by rb_require_internal().
| const char* ruby_enc_find_basename | ( | const char * | name, | 
| long * | baselen, | ||
| long * | alllen, | ||
| rb_encoding * | enc | ||
| ) | 
Definition at line 4172 of file file.c.
References f, isdirsep, name, skipprefix, strlen(), and strrdirsep.
| const char* ruby_enc_find_extname | ( | const char * | name, | 
| long * | len, | ||
| rb_encoding * | enc | ||
| ) | 
| int ruby_is_fd_loadable | ( | int | fd | ) | 
| VALUE rb_cFile | 
Definition at line 139 of file file.c.
Referenced by Init_File(), and rb_io_fdopen().
| VALUE rb_mFileTest | 
Definition at line 140 of file file.c.
Referenced by Init_File().
 1.8.13
 1.8.13