[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/ -> getcwd.pl (source)

   1  # By Brandon S. Allbery
   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  #
  12  # Usage: $cwd = &getcwd;
  13  
  14  sub getcwd
  15  {
  16      local($dotdots, $cwd, @pst, @cst, $dir, @tst);
  17  
  18      unless (@cst = stat('.'))
  19      {
  20      warn "stat(.): $!";
  21      return '';
  22      }
  23      $cwd = '';
  24      do
  25      {
  26      $dotdots .= '/' if $dotdots;
  27      $dotdots .= '..';
  28      @pst = @cst;
  29      unless (opendir(getcwd'PARENT, $dotdots))            #'))
  30      {
  31          warn "opendir($dotdots): $!";
  32          return '';
  33      }
  34      unless (@cst = stat($dotdots))
  35      {
  36          warn "stat($dotdots): $!";
  37          closedir(getcwd'PARENT);                    #');
  38          return '';
  39      }
  40      if ($pst[$[] == $cst[$[] && $pst[$[ + 1] == $cst[$[ + 1])
  41      {
  42          $dir = '';
  43      }
  44      else
  45      {
  46          do
  47          {
  48          unless (defined ($dir = readdir(getcwd'PARENT)))        #'))
  49          {
  50              warn "readdir($dotdots): $!";
  51              closedir(getcwd'PARENT);                #');
  52              return '';
  53          }
  54          unless (@tst = lstat("$dotdots/$dir"))
  55          {
  56              # warn "lstat($dotdots/$dir): $!";
  57              # closedir(getcwd'PARENT);                #');
  58              # return '';
  59          }
  60          }
  61          while ($dir eq '.' || $dir eq '..' || $tst[$[] != $pst[$[] ||
  62             $tst[$[ + 1] != $pst[$[ + 1]);
  63      }
  64      $cwd = "$dir/$cwd";
  65      closedir(getcwd'PARENT);                    #');
  66      } while ($dir ne '');
  67      chop($cwd);
  68      $cwd;
  69  }
  70  
  71  1;


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1