Advertisement
Lexolordan

Untitled

Dec 22nd, 2018
520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1.  
  2. ssize_t c_write(int fd, const void *buff, int bytesToWrite) {
  3.     size_t bytesWritten;
  4.     for (bytesWritten = 0; bytesWritten < bytesToWrite; ) {
  5.         ssize_t currentlyWritten = write(fd, buff + bytesWritten, bytesToWrite - bytesWritten);
  6.         if (currentlyWritten == 0) {
  7.             return bytesWritten;
  8.         }
  9.  
  10.         if (currentlyWritten == -1) {
  11.             return -1;
  12.         }
  13.         bytesWritten += currentlyWritten;
  14.     }
  15.     return bytesWritten;
  16. }
  17.  
  18.  
  19. ssize_t c_read(int fd, void *buff, int bytesToRead) {
  20.     size_t bytesRead;
  21.     for (bytesRead = 0; bytesRead < bytesToRead; ) {
  22.         ssize_t currentlyRead = read(fd, buff + bytesRead, bytesToRead - bytesRead);
  23.         if (currentlyRead == 0) {
  24.             return bytesRead;
  25.         }
  26.  
  27.         if (currentlyRead == -1) {
  28.             return -1;
  29.         }
  30.         bytesRead += currentlyRead;
  31.     }
  32.     return bytesRead;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement