 
 
 var sw = Stopwatch()
-var a = [UInt8]("/".utf8)
+var samplePath = "/"
+var a = [UInt8](samplePath.utf8)
 a.append(0)
 sw.start()
-trackDir(a)
+trackDir(pathBytes: a)
 p("trackDir   count: \(count) Elapsed: \(sw.millis)")
 
 count = 0
 sw.start()
-spelunkDir("/")
+spelunkDir(path: samplePath)
 p("spelunkDir count: \(count) Elapsed: \(sw.millis)")
 
 count = 0
 sw.start()
-do {
-  try browseDir(a)
-} catch {
-  // ignore errors.
-}
+try browseDir(pathBytes: a)
 p("browseDir  count: \(count) Elapsed: \(sw.millis)")
 
 count = 0
 sw.start()
-do {
-  try browseDir2(a)
-} catch {
-  // ignore errors.
-}
+try browseDir2(pathBytes: a)
 p("browseDir2 count: \(count) Elapsed: \(sw.millis)")
 
 count = 0
 sw.start()
-peekDir(a)
+peekDir(pathBytes: a)
 p("peekDir    count: \(count) Elapsed: \(sw.millis)")
 
 count = 0
 sw.start()
-trackDir(a)
+trackDir(pathBytes: a)
 p("**trackDir count: \(count) Elapsed: \(sw.millis)")

      }
    }
    DIRP: while store.count >= 0 { // Trick the compiler.
      var entry = readdir(dp)
      while entry != nil {
        count += 1
        if entry.memory.d_type == 4 {
          var dirName = entry.memory.d_name
          var ignore = true
          withUnsafePointer(&dirName) { ptr in
            let len = Int(Sys.strlen(UnsafePointer<CChar>(ptr)))
            let b = UnsafeBufferPointer<UInt8>(start: UnsafePointer<UInt8>(ptr),
                count: len)
            if len <= 2 && b[0] == 46 && (len == 1 || b[1] == 46) {

          cp += b
          cp.append(47)
          cp.append(0) // Now append the trailing null-byte 0
          trackDir(pathBytes: cp)
        }
      }
    }
