Skip to content

Instantly share code, notes, and snippets.

@kristopherjohnson
Created December 22, 2015 22:13
Show Gist options
  • Select an option

  • Save kristopherjohnson/66fdfcc5312322a5bb63 to your computer and use it in GitHub Desktop.

Select an option

Save kristopherjohnson/66fdfcc5312322a5bb63 to your computer and use it in GitHub Desktop.
Swift wrapper for glob(3)
import Foundation
/// Given a wildcard pattern, return matching paths.
///
/// - parameter pattern: pathname pattern to be expanded. See docs for `glob(3)`.
/// - returns: array of pathnames that match the pattern
func matchingFilesForPattern(pattern: String) -> [String] {
var result = Array<String>()
var g = glob_t()
glob(pattern, 0, nil, &g)
defer { globfree(&g) }
for i in 0..<g.gl_pathc {
let sz = UnsafeMutablePointer<CChar>(g.gl_pathv[i])
if let s = String.fromCString(sz) {
result.append(s)
}
}
return result
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment