Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.root.filename
Compiler implementation of the D programming language
http://dlang.org
Authors:
Walter Bright, http://www.digitalmars.com
License:
Source root/filename.d
Documentation https://dlang.org/phobos/dmd_root_filename.html
- struct
FileName; - Encapsulate path and file names.
- static pure nothrow bool
absolute(const(char)*name); - Determine if path is absolute.Parameters:
const(char)* namepath Returns:true if absolute path name. - static nothrow const(char)*
toAbsolute(const(char)*name, const(char)*base= null); - Return the given name as an absolute pathParameters:
const(char)* namepath const(char)* basethe absolute base to prefix name with if it is relative Returns:name as an absolute path relative to base - static pure nothrow const(char)*
ext(const(char)*str); - Determine file name extension as slice of input.Parameters:
const(char)* strfile name Returns:filename extension (read-only). Points past '.' of extension. If there isn't one, return null. - static nothrow const(char)*
removeExt(const(char)*str); - Return file name without extension.Parameters:
const(char)* strfile name Returns:mem.xmalloc'd filename with extension removed. - static pure nothrow const(char)*
name(const(char)*str); - Return filename name excluding path (read-only).
- static nothrow const(char)*
path(const(char)*str); - Return path portion of str. Path will does not include trailing path separator.
- static nothrow const(char)*
replaceName(const(char)*path, const(char)*name); - Replace filename portion of path.
- static nothrow const(char)*
defaultExt(const(char)*name, const(char)*ext); - Free returned value with FileName::free()
- static nothrow const(char)*
forceExt(const(char)*name, const(char)*ext); - Free returned value with FileName::free()
- const pure nothrow bool
equalsExt(const(char)*ext); - Return !=0 if extensions match.
- static nothrow const(char)*
searchPath(Strings*path, const(char)*name, boolcwd); - Search Path for file.
Input cwd if true, search current directory before searching path
- static nothrow const(char)*
safeSearchPath(Strings*path, const(char)*name); - Search Path for file in a safe manner.Be wary of CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') attacks. http://cwe.mitre.org/data/definitions/22.html More info: https://www.securecoding.cert.org/confluence/display/c/FIO02-C.+Canonicalize+path+names+originating+from+tainted+sourcesReturns:NULL file not found !=NULL mem.xmalloc'd file name
- static nothrow const(char)*
canonicalName(const(char)*name); - Return canonical version of name in a malloc'd buffer. This code is high risk.
- static nothrow void
free(const(char)*str); - Free memory allocated by FileName routines
Copyright © 1999-2018 by the D Language Foundation | Page generated by
Ddoc on Thu Jul 5 08:37:51 2018