From Jason Turner

[fs.path.generic]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpmw9xt7bz/{from.md → to.md} +83 -0
tmp/tmpmw9xt7bz/{from.md → to.md} RENAMED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Generic pathname format <a id="fs.path.generic">[[fs.path.generic]]</a>
2
+
3
+ ``` bnf
4
+ pathname:
5
+ root-nameₒₚₜ root-directoryₒₚₜ relative-path
6
+ ```
7
+
8
+ ``` bnf
9
+ root-name:
10
+ operating system dependent sequences of characters
11
+ implementation-defined sequences of characters
12
+ ```
13
+
14
+ ``` bnf
15
+ root-directory:
16
+ directory-separator
17
+ ```
18
+
19
+ ``` bnf
20
+ relative-path:
21
+ filename
22
+ filename directory-separator relative-path
23
+ an empty path
24
+ ```
25
+
26
+ ``` bnf
27
+ filename:
28
+ non-empty sequence of characters other than *directory-separator* characters
29
+ ```
30
+
31
+ ``` bnf
32
+ directory-separator:
33
+ preferred-separator directory-separatorₒₚₜ
34
+ fallback-separator directory-separatorₒₚₜ
35
+ ```
36
+
37
+ ``` bnf
38
+ preferred-separator:
39
+ operating system dependent directory separator character
40
+ ```
41
+
42
+ ``` bnf
43
+ fallback-separator:
44
+ /, if *preferred-separator* is not /
45
+ ```
46
+
47
+ [*Note 1*: Operating systems often place restrictions on the characters
48
+ that may be used in a *filename*. For wide portability, users may wish
49
+ to limit *filename* characters to the POSIX Portable Filename Character
50
+ Set:
51
+ `A B C D E F G H I J K L M N O P Q R S T U V W X Y Z`
52
+ `a b c d e f g h i j k l m n o p q r s t u v w x y z`
53
+ `0 1 2 3 4 5 6 7 8 9 . _ -` — *end note*]
54
+
55
+ Except in a *root-name*, multiple successive *directory-separator*
56
+ characters are considered to be the same as one *directory-separator*
57
+ character.
58
+
59
+ The filename *dot* ([[fs.def.filename]]) is treated as a reference to
60
+ the current directory. The filename *dot-dot* ([[fs.def.filename]]) is
61
+ treated as a reference to the parent directory. What the filename
62
+ *dot-dot* refers to relative to *root-directory* is
63
+ *implementation-defined*. Specific filenames may have special meanings
64
+ for a particular operating system.
65
+
66
+ A *root-name* identifies the starting location for pathname resolution (
67
+ [[fs.def.pathres]]). If there are no operating system dependent
68
+ *root-name*s, at least one *implementation-defined* *root-name* is
69
+ required.
70
+
71
+ [*Note 2*: Many operating systems define a name beginning with two
72
+ *directory-separator* characters as a *root-name* that identifies
73
+ network or other resource locations. Some operating systems define a
74
+ single letter followed by a colon as a drive specifier – a *root-name*
75
+ identifying a specific device such as a disk drive. — *end note*]
76
+
77
+ If a *root-name* is otherwise ambiguous, the possibility with the
78
+ longest sequence of characters is chosen.
79
+
80
+ [*Note 3*: On a POSIX-like operating system, it is impossible to have a
81
+ *root-name* and a *relative-path* without an intervening
82
+ *root-directory* element. — *end note*]
83
+