#endif /* !CONFIG_KFILE_GETS */
+kfile_off_t kfile_copy(KFile *src, KFile *dst, kfile_off_t size)
+{
+ char buf[32];
+ kfile_off_t cp_len = 0;
+
+ while (size)
+ {
+ size_t len = MIN(sizeof(buf), (size_t)size);
+ if (kfile_read(src, buf, len) != len)
+ break;
+
+ size_t wr_len = kfile_write(dst, buf, len);
+ cp_len += wr_len;
+ size -= len;
+
+ if (wr_len != len)
+ break;
+ }
+
+ return cp_len;
+}
+
+
/**
* Move \a fd file seek position of \a offset bytes from \a whence.
*
break;
}
- #if LOG_LEVEL >= LOG_LVL_INFO
/* Bound check */
if (seek_pos + offset > fd->size)
LOG_INFO("seek outside EOF\n");
- #endif
fd->seek_pos = seek_pos + offset;