Skip to content

Commit 9c7acd2

Browse files
committed
---
yaml --- r: 1772 b: refs/heads/master c: 71de17d h: refs/heads/master v: v3
1 parent 061213f commit 9c7acd2

File tree

5 files changed

+8
-1
lines changed

5 files changed

+8
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: ea1321fcdd136d3bf90bd7015c6c54b1c4932535
2+
refs/heads/master: 71de17d38ee8db40e5f50d2ce8986e9676767309

trunk/src/lib/io.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type reader =
2424
impure fn read_le_int(uint size) -> int;
2525

2626
impure fn seek(int offset, seek_style whence);
27+
impure fn tell() -> uint; // TODO: eventually u64
2728
};
2829

2930
state obj FILE_reader(os.libc.FILE f, bool must_close) {
@@ -97,6 +98,9 @@ state obj FILE_reader(os.libc.FILE f, bool must_close) {
9798
}
9899
check(os.libc.fseek(f, offset, wh) == 0);
99100
}
101+
impure fn tell() -> uint {
102+
ret os.libc.ftell(f) as uint;
103+
}
100104
drop {
101105
if (must_close) {os.libc.fclose(f);}
102106
}

trunk/src/lib/linux_os.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ native mod libc = "libc.so.6" {
1919
fn ungetc(int c, FILE f);
2020
fn fread(vbuf buf, uint size, uint n, FILE f) -> uint;
2121
fn fseek(FILE f, int offset, int whence) -> int;
22+
fn ftell(FILE f) -> int;
2223

2324
type dir;
2425
fn opendir(sbuf d) -> dir;

trunk/src/lib/macos_os.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ native mod libc = "libc.dylib" {
1616
fn ungetc(int c, FILE f);
1717
fn fread(vbuf buf, uint size, uint n, FILE f) -> uint;
1818
fn fseek(FILE f, int offset, int whence) -> int;
19+
fn ftell(FILE f) -> int;
1920

2021
type dir;
2122
fn opendir(sbuf d) -> dir;

trunk/src/lib/win32_os.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ native mod libc = "msvcrt.dll" {
1515
fn ungetc(int c, FILE f);
1616
fn fread(vbuf buf, uint size, uint n, FILE f) -> uint;
1717
fn fseek(FILE f, int offset, int whence) -> int;
18+
fn ftell(FILE f) -> int;
1819

1920
fn _pipe(vbuf fds, uint size, int mode) -> int;
2021
}

0 commit comments

Comments
 (0)