| 123456789101112131415161718192021 |
- #include <unistd.h>
- #include <sys/param.h>
- #include <string.h>
- #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;
- }
|