| 21 | namespace file |
| 22 | { |
| 23 | u32 copy(File &output, File &input, u32 input_size) |
| 24 | { |
| 25 | u8 chunk[4096]; |
| 26 | u32 to_read = input_size; |
| 27 | u32 num_written = 0; |
| 28 | |
| 29 | while (num_written != input_size) { |
| 30 | u32 num_read = input.read(chunk, min(u32(sizeof(chunk)), to_read)); |
| 31 | num_written += output.write(chunk, num_read); |
| 32 | to_read -= num_read; |
| 33 | } |
| 34 | |
| 35 | return num_written; |
| 36 | } |
| 37 | |
| 38 | } // namespace file |
| 39 |