#include #include #include #include "ft_printf_internal.h" int appendToFdBuffer(struct printf_data* data, const char* buf, size_t len) { size_t sizeToWrite = MIN(data->bufferMaxSize - data->bufferPos, len); memcpy(&data->fdBuffer[data->bufferPos], buf, sizeToWrite); data->bufferPos += sizeToWrite; if (data->bufferPos == data->bufferMaxSize) { int result = write(data->fd, data->fdBuffer, data->bufferMaxSize); if (result < 0) return result; data->bufferPos = 0; } return sizeToWrite; }