[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 # By John Bazik 2 # 3 # This library is no longer being maintained, and is included for backward 4 # compatibility with Perl 4 programs which may require it. 5 # 6 # In particular, this should not be used as an example of modern Perl 7 # programming techniques. 8 # 9 # Suggested alternative: Cwd 10 # 11 # Usage: $cwd = &fastcwd; 12 # 13 # This is a faster version of getcwd. It's also more dangerous because 14 # you might chdir out of a directory that you can't chdir back into. 15 16 sub fastcwd { 17 local($odev, $oino, $cdev, $cino, $tdev, $tino); 18 local(@path, $path); 19 local(*DIR); 20 21 ($cdev, $cino) = stat('.'); 22 for (;;) { 23 ($odev, $oino) = ($cdev, $cino); 24 chdir('..'); 25 ($cdev, $cino) = stat('.'); 26 last if $odev == $cdev && $oino == $cino; 27 opendir(DIR, '.'); 28 for (;;) { 29 $_ = readdir(DIR); 30 next if $_ eq '.'; 31 next if $_ eq '..'; 32 33 last unless $_; 34 ($tdev, $tino) = lstat($_); 35 last unless $tdev != $odev || $tino != $oino; 36 } 37 closedir(DIR); 38 unshift(@path, $_); 39 } 40 chdir($path = '/' . join('/', @path)); 41 $path; 42 } 43 1;
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |