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)* name
path Returns:true
ifabsolute
pathname
. - static nothrow const(char)*
toAbsolute
(const(char)*name
, const(char)*base
= null); - Return the given
name
as an absolute pathParameters:const(char)* name
path const(char)* base
the absolute base
to prefixname
with if it is relativeReturns:name
as an absolute path relative tobase
- static pure nothrow const(char)*
ext
(const(char)*str
); - Determine file name extension as slice of input.Parameters:
const(char)* str
file name Returns:filename extension (read-only). Points past '.' of extension. If there isn't one, returnnull
. - static nothrow const(char)*
removeExt
(const(char)*str
); - Return file name without extension.Parameters:
const(char)* str
file 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 ofstr
. Path will does not include trailingpath
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
iftrue
, search current directory before searchingpath
- 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 Tue Mar 13 17:31:32 2018