summaryrefslogtreecommitdiff
path: root/generic/Input.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'generic/Input.cpp')
-rw-r--r--generic/Input.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/generic/Input.cpp b/generic/Input.cpp
index 7106c8d..ffef9f0 100644
--- a/generic/Input.cpp
+++ b/generic/Input.cpp
@@ -41,6 +41,14 @@ bool Input::CanRead() {
return 1;
}
+bool Input::CanSeek() {
+ struct stat s;
+
+ fstat(GetHandle(), &s);
+
+ return S_ISREG(s.st_mode);
+}
+
String Input::GetName() {
return n;
}
@@ -53,14 +61,18 @@ time_t Input::GetModif() {
return date_modif;
}
-Stdin_t::Stdin_t() : Handle(dup(0)) { }
-
-bool Stdin_t::CanWrite() {
- return 0;
+off_t Input::seek(off_t offset, int whence) {
+ itell = lseek(GetHandle(), offset, whence);
+#ifdef PARANOID_SEEK
+ if (itell != lseek(GetHandle(), 0, SEEK_CUR)) {
+ }
+#endif
}
-bool Stdin_t::CanRead() {
- return 1;
+Stdin_t::Stdin_t() { }
+
+bool Stdin_t::CanSeek() {
+ return 0;
}
String Stdin_t::GetName() {