# File lib/openid/urinorm.rb, line 13
    def Util._remove_dot_segments(path)
      result_segments = []

      while path.length > 0
        if path.starts_with?('../')
          path = path[3..-1]
        elsif path.starts_with?('./')
          path = path[2..-1]
        elsif path.starts_with?('/./')
          path = path[2..-1]
        elsif path == '/.'
          path = '/'
        elsif path.starts_with?('/../')
          path = path[3..-1]
          result_segments.pop if result_segments.length > 0
        elsif path == '/..'
          path = '/'
          result_segments.pop if result_segments.length > 0
        elsif path == '..' or path == '.'
          path = ''
        else
          i = 0
          i = 1 if path[0].chr == '/'
          i = path.index('/', i)
          i = path.length if i.nil?
          result_segments << path[0...i]
          path = path[i..-1]
        end
      end
      
      return result_segments.join('')
    end