19 lines
482 B
C++
19 lines
482 B
C++
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
// Copyright 2016-2025 Hristo Gochkov, Mathieu Carbou, Emil Muratov
|
|
|
|
#include <ChunkPrint.h>
|
|
|
|
ChunkPrint::ChunkPrint(uint8_t *destination, size_t from, size_t len) : _destination(destination), _to_skip(from), _to_write(len), _pos{0} {}
|
|
|
|
size_t ChunkPrint::write(uint8_t c) {
|
|
if (_to_skip > 0) {
|
|
_to_skip--;
|
|
return 1;
|
|
} else if (_to_write > 0) {
|
|
_to_write--;
|
|
_destination[_pos++] = c;
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|