tmove_regression.nim 604 B

123456789101112131415161718192021222324
  1. discard """
  2. output: '''/1/2
  3. /1
  4. /
  5. '''
  6. """"
  7. # bug #22001
  8. import std / [os, strutils]
  9. proc finOp2(path, name: string): (string, File) = # Find & open FIRST `name`
  10. result = default((string, File))
  11. var current = path
  12. while true:
  13. if current.isRootDir: break # <- current=="" => current.isRootDir
  14. current = current.parentDir
  15. let dir = current
  16. echo dir.replace('\\', '/') # Commenting out try/except below hides bug
  17. try: result[0] = dir/name; result[1] = open(result[0]); return
  18. except CatchableError: discard
  19. discard finOp2("/1/2/3", "4") # All same if this->inside a proc