Method: File#lstat
- Defined in:
- file.c
#lstat ⇒ Object
Like File#stat, but does not follow the last symbolic link; instead, returns a File::Stat object for the link itself:
File.symlink('t.txt', 'symlink')
f = File.new('symlink')
f.stat.size # => 47
f.lstat.size # => 11
1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 |
# File 'file.c', line 1441 static VALUE rb_file_lstat(VALUE obj) { #ifdef HAVE_LSTAT rb_io_t *fptr; struct stat st; VALUE path; GetOpenFile(obj, fptr); if (NIL_P(fptr->pathv)) return Qnil; path = rb_str_encode_ospath(fptr->pathv); if (lstat_without_gvl(RSTRING_PTR(path), &st) == -1) { rb_sys_fail_path(fptr->pathv); } return rb_stat_new(&st); #else return rb_io_stat(obj); #endif } |