Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
291b6f16
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
291b6f16
编写于
7月 18, 2016
作者:
T
Tobias Bucher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Comment on the casts in the `seek` implementations on files
上级
6cc49e51
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
4 deletion
+8
-4
src/libstd/sys/unix/fs.rs
src/libstd/sys/unix/fs.rs
+6
-4
src/libstd/sys/windows/fs.rs
src/libstd/sys/windows/fs.rs
+2
-0
未找到文件。
src/libstd/sys/unix/fs.rs
浏览文件 @
291b6f16
...
...
@@ -27,7 +27,7 @@
#[cfg(any(target_os
=
"linux"
,
target_os
=
"emscripten"
))]
use
libc
::{
stat64
,
fstat64
,
lstat64
,
off64_t
,
ftruncate64
,
lseek64
,
dirent64
,
readdir64_r
,
open64
};
#[cfg(target_os
=
"android"
)]
use
libc
::{
stat
as
stat64
,
fstat
as
fstat64
,
lstat
as
lstat64
,
off64_t
,
lseek64
,
use
libc
::{
stat
as
stat64
,
fstat
as
fstat64
,
lstat
as
lstat64
,
lseek64
,
dirent
as
dirent64
,
open
as
open64
};
#[cfg(not(any(target_os
=
"linux"
,
target_os
=
"emscripten"
,
...
...
@@ -485,9 +485,11 @@ pub fn flush(&self) -> io::Result<()> { Ok(()) }
pub
fn
seek
(
&
self
,
pos
:
SeekFrom
)
->
io
::
Result
<
u64
>
{
let
(
whence
,
pos
)
=
match
pos
{
SeekFrom
::
Start
(
off
)
=>
(
libc
::
SEEK_SET
,
off
as
off64_t
),
SeekFrom
::
End
(
off
)
=>
(
libc
::
SEEK_END
,
off
as
off64_t
),
SeekFrom
::
Current
(
off
)
=>
(
libc
::
SEEK_CUR
,
off
as
off64_t
),
// Casting to `i64` is fine, too large values will end up as
// negative which will cause an error in `lseek64`.
SeekFrom
::
Start
(
off
)
=>
(
libc
::
SEEK_SET
,
off
as
i64
),
SeekFrom
::
End
(
off
)
=>
(
libc
::
SEEK_END
,
off
),
SeekFrom
::
Current
(
off
)
=>
(
libc
::
SEEK_CUR
,
off
),
};
let
n
=
cvt
(
unsafe
{
lseek64
(
self
.0
.raw
(),
pos
,
whence
)
})
?
;
Ok
(
n
as
u64
)
...
...
src/libstd/sys/windows/fs.rs
浏览文件 @
291b6f16
...
...
@@ -324,6 +324,8 @@ pub fn flush(&self) -> io::Result<()> { Ok(()) }
pub
fn
seek
(
&
self
,
pos
:
SeekFrom
)
->
io
::
Result
<
u64
>
{
let
(
whence
,
pos
)
=
match
pos
{
// Casting to `i64` is fine, `SetFilePointerEx` reinterprets this
// integer as `u64`.
SeekFrom
::
Start
(
n
)
=>
(
c
::
FILE_BEGIN
,
n
as
i64
),
SeekFrom
::
End
(
n
)
=>
(
c
::
FILE_END
,
n
),
SeekFrom
::
Current
(
n
)
=>
(
c
::
FILE_CURRENT
,
n
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录