write-full.c revision 0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834
5e0ce63bb65db34d7f48b34bbb5545fa791781c4Timo Sirainen/* Copyright (c) 2002-2003 Timo Sirainen */
c27c55fe2c083c7573cde51e366ef689c1a69708Timo Sirainenint write_full(int fd, const void *data, size_t size)
279184dd3ab877f8f08c05f81a5570b20c6c215eTimo Sirainen while (size > 0) {
d2f5aacd3d549c3d39dae41b6522d585244b016dTimo Sirainen ret = write(fd, data, size < SSIZE_T_MAX ? size : SSIZE_T_MAX);
c27c55fe2c083c7573cde51e366ef689c1a69708Timo Sirainen /* nothing was written, only reason for this should
c27c55fe2c083c7573cde51e366ef689c1a69708Timo Sirainen be out of disk space */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenint pwrite_full(int fd, const void *data, size_t size, off_t offset)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen while (size > 0) {
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* nothing was written, only reason for this should
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen be out of disk space */