Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
UncNameHelper.cs
Go to the documentation of this file.
1
namespace
System
;
2
3
internal
static
class
UncNameHelper
4
{
5
public
static
string
ParseCanonicalName
(
string
str
,
int
start
,
int
end, ref
bool
loopback)
6
{
7
return
DomainNameHelper
.
ParseCanonicalName
(
str
,
start
, end, ref loopback);
8
}
9
10
public
unsafe
static
bool
IsValid
(
char
* name,
int
start
, ref
int
returnedEnd,
bool
notImplicitFile)
11
{
12
int
num = returnedEnd;
13
if
(
start
== num)
14
{
15
return
false
;
16
}
17
bool
flag =
false
;
18
int
i;
19
for
(i =
start
; i < num; i++)
20
{
21
if
(name[i] ==
'/'
|| name[i] ==
'\\'
|| (notImplicitFile && (name[i] ==
':'
|| name[i] ==
'?'
|| name[i] ==
'#'
)))
22
{
23
num = i;
24
break
;
25
}
26
if
(name[i] ==
'.'
)
27
{
28
i++;
29
break
;
30
}
31
if
(
char
.IsLetter(name[i]) || name[i] ==
'-'
|| name[i] ==
'_'
)
32
{
33
flag =
true
;
34
}
35
else
if
(name[i] <
'0'
|| name[i] >
'9'
)
36
{
37
return
false
;
38
}
39
}
40
if
(!flag)
41
{
42
return
false
;
43
}
44
for
(; i < num; i++)
45
{
46
if
(name[i] ==
'/'
|| name[i] ==
'\\'
|| (notImplicitFile && (name[i] ==
':'
|| name[i] ==
'?'
|| name[i] ==
'#'
)))
47
{
48
num = i;
49
break
;
50
}
51
if
(name[i] ==
'.'
)
52
{
53
if
(!flag || (i - 1 >=
start
&& name[i - 1] ==
'.'
))
54
{
55
return
false
;
56
}
57
flag =
false
;
58
continue
;
59
}
60
if
(name[i] ==
'-'
|| name[i] ==
'_'
)
61
{
62
if
(!flag)
63
{
64
return
false
;
65
}
66
continue
;
67
}
68
if
(
char
.IsLetter(name[i]) || (name[i] >=
'0'
&& name[i] <=
'9'
))
69
{
70
if
(!flag)
71
{
72
flag =
true
;
73
}
74
continue
;
75
}
76
return
false
;
77
}
78
if
(i - 1 >=
start
&& name[i - 1] ==
'.'
)
79
{
80
flag =
true
;
81
}
82
if
(!flag)
83
{
84
return
false
;
85
}
86
returnedEnd = num;
87
return
true
;
88
}
89
}
System.DomainNameHelper.ParseCanonicalName
static string ParseCanonicalName(string str, int start, int end, ref bool loopback)
Definition
DomainNameHelper.cs:13
System.DomainNameHelper
Definition
DomainNameHelper.cs:8
System.UncNameHelper.ParseCanonicalName
static string ParseCanonicalName(string str, int start, int end, ref bool loopback)
Definition
UncNameHelper.cs:5
System.UncNameHelper.IsValid
static unsafe bool IsValid(char *name, int start, ref int returnedEnd, bool notImplicitFile)
Definition
UncNameHelper.cs:10
System.UncNameHelper
Definition
UncNameHelper.cs:4
System.ExceptionArgument.str
@ str
System.ExceptionArgument.start
@ start
System
Definition
BlockingCollection.cs:8
source
System.Private.Uri
System
UncNameHelper.cs
Generated by
1.10.0