blob: bc2616350ddbd897c09fa473ba9541a0f95900de (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include "date.h"
#define JD_STRFTIME_CHUNK 64
JanetBuffer *strftime_buffer(const char *format, const struct tm *tm, JanetBuffer *buffer) {
if (!buffer) buffer = janet_buffer(0);
size_t offset = buffer->count;
size_t written = 0;
do {
janet_buffer_extra(buffer, JD_STRFTIME_CHUNK);
written = strftime((char*)buffer->data + offset, buffer->capacity - offset, format, tm);
} while (!written);
buffer->count = written + offset; // does not include \0, but we don't want it anyway
return buffer;
}
|