original_string: public function skip(int $n) : int
      {
          if ($n <= 0) {
              return 0;
          }
  
          $skipped = 0;
          $skipLimit = min(self::MAX_SKIP_BUFFER_SIZE, $n);
          while ($skipped < $n) {
              $buf = $this->read(min($skipLimit, $n - $skipped));
              if ($buf === null) {
                  break;
              }
              $skipped += strlen($buf);
          }
          return $skipped;
      }
code: public function skip(int $n) : int
      {
          if ($n <= 0) {
              return 0;
          }
  
          $skipped = 0;
          $skipLimit = min(self::MAX_SKIP_BUFFER_SIZE, $n);
          while ($skipped < $n) {
              $buf = $this->read(min($skipLimit, $n - $skipped));
              if ($buf === null) {
                  break;
              }
              $skipped += strlen($buf);
          }
          return $skipped;
      }
code_tokens: public function skip ( int $ n ) : int { if ( $ n <= 0 ) { return 0 ; } $ skipped = 0 ; $ skipLimit = min ( self :: MAX_SKIP_BUFFER_SIZE , $ n ) ; while ( $ skipped < $ n ) { $ buf = $ this -> read ( min ( $ skipLimit , $ n - $ skipped ) ) ; if ( $ buf === null ) { break ; } $ skipped += strlen ( $ buf ) ; } return $ skipped ; }
docstring: Skips over and discards n bytes of data from this input stream.
  
  @param int $n the number of bytes to be skipped
  @return int the actual number of bytes skipped
  @throws IOException
docstring_tokens: Skips over and discards n bytes of data from this input stream .