Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Kirill Smelkov
go
Commits
f13ce3ab
Commit
f13ce3ab
authored
15 years ago
by
Russ Cox
Browse files
Options
Download
Email Patches
Plain Diff
throw away . and .. in directory listings
R=r DELTA=13 (11 added, 0 deleted, 2 changed) OCL=27147 CL=27154
parent
61ba1601
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
2 deletions
+13
-2
src/lib/os/dir_amd64_darwin.go
src/lib/os/dir_amd64_darwin.go
+5
-1
src/lib/os/dir_amd64_linux.go
src/lib/os/dir_amd64_linux.go
+5
-1
src/lib/os/os_test.go
src/lib/os/os_test.go
+3
-0
No files found.
src/lib/os/dir_amd64_darwin.go
View file @
f13ce3ab
...
...
@@ -50,6 +50,10 @@ func readdirnames(file *File, count int) (names []string, err *os.Error) {
if
dirent
.
Ino
==
0
{
// File absent in directory.
continue
}
var
name
=
string
(
dirent
.
Name
[
0
:
dirent
.
Namlen
]);
if
name
==
"."
||
name
==
".."
{
// Useless names
continue
}
count
--
;
if
len
(
names
)
==
cap
(
names
)
{
nnames
:=
make
([]
string
,
len
(
names
),
2
*
len
(
names
));
...
...
@@ -59,7 +63,7 @@ func readdirnames(file *File, count int) (names []string, err *os.Error) {
names
=
nnames
;
}
names
=
names
[
0
:
len
(
names
)
+
1
];
names
[
len
(
names
)
-
1
]
=
string
(
dirent
.
Name
[
0
:
dirent
.
Namlen
])
;
names
[
len
(
names
)
-
1
]
=
name
;
}
}
return
names
,
nil
...
...
This diff is collapsed.
Click to expand it.
src/lib/os/dir_amd64_linux.go
View file @
f13ce3ab
...
...
@@ -59,6 +59,10 @@ func readdirnames(file *File, count int) (names []string, err *os.Error) {
if
dirent
.
Ino
==
0
{
// File absent in directory.
continue
}
var
name
=
string
(
dirent
.
Name
[
0
:
clen
(
dirent
.
Namlen
)]);
if
name
==
"."
||
name
==
".."
{
// Useless names
continue
}
count
--
;
if
len
(
names
)
==
cap
(
names
)
{
nnames
:=
make
([]
string
,
len
(
names
),
2
*
len
(
names
));
...
...
@@ -68,7 +72,7 @@ func readdirnames(file *File, count int) (names []string, err *os.Error) {
names
=
nnames
;
}
names
=
names
[
0
:
len
(
names
)
+
1
];
names
[
len
(
names
)
-
1
]
=
string
(
dirent
.
Name
[
0
:
clen
(
dirent
.
Name
)])
;
names
[
len
(
names
)
-
1
]
=
name
;
}
}
return
names
,
nil
;
...
...
This diff is collapsed.
Click to expand it.
src/lib/os/os_test.go
View file @
f13ce3ab
...
...
@@ -110,6 +110,9 @@ func testReaddirnames(dir string, contents []string, t *testing.T) {
for
i
,
m
:=
range
contents
{
found
:=
false
;
for
j
,
n
:=
range
s
{
if
n
==
"."
||
n
==
".."
{
t
.
Errorf
(
"got %s in directory"
,
n
);
}
if
m
==
n
{
if
found
{
t
.
Error
(
"present twice:"
,
m
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment