summaryrefslogtreecommitdiff
path: root/generic/Handle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'generic/Handle.cpp')
-rw-r--r--generic/Handle.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/generic/Handle.cpp b/generic/Handle.cpp
index 44b01de..e95a28a 100644
--- a/generic/Handle.cpp
+++ b/generic/Handle.cpp
@@ -297,3 +297,17 @@ bool Handle::CanSeek() {
off_t Handle::seek(off_t, int) throw(GeneralException) {
throw IOGeneral("Handle " + GetName() + " can't seek");
}
+
+void copy(Handle * s, Handle * d, ssize_t size) {
+ long i;
+ unsigned char c;
+ long r;
+
+ for (i = 0; (i < size) || (size < 0); i++) {
+ r = s->read(&c, 1);
+ if (r == 0) {
+ break;
+ }
+ d->write(&c, 1);
+ }
+}