Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ssize_t c_write(int fd, const void *buff, int bytesToWrite) {
- size_t bytesWritten;
- for (bytesWritten = 0; bytesWritten < bytesToWrite; ) {
- ssize_t currentlyWritten = write(fd, buff + bytesWritten, bytesToWrite - bytesWritten);
- if (currentlyWritten == 0) {
- return bytesWritten;
- }
- if (currentlyWritten == -1) {
- return -1;
- }
- bytesWritten += currentlyWritten;
- }
- return bytesWritten;
- }
- ssize_t c_read(int fd, void *buff, int bytesToRead) {
- size_t bytesRead;
- for (bytesRead = 0; bytesRead < bytesToRead; ) {
- ssize_t currentlyRead = read(fd, buff + bytesRead, bytesToRead - bytesRead);
- if (currentlyRead == 0) {
- return bytesRead;
- }
- if (currentlyRead == -1) {
- return -1;
- }
- bytesRead += currentlyRead;
- }
- return bytesRead;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement