projects
/
musl
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
new gcc wrapper, entirely specfile based
[musl]
/
src
/
time
/
wcsftime.c
1
#include <wchar.h>
2
#include <time.h>
3
#include <string.h>
4
5
size_t wcsftime(wchar_t *wcs, size_t n, const wchar_t *f, const struct tm *tm)
6
{
7
size_t k, n0=n;
8
char out[100], in[4];
9
while (*f) {
10
if (!n) return 0;
11
if (*f != '%') {
12
*wcs++ = *f++;
13
n--;
14
continue;
15
}
16
in[2] = in[3] = 0;
17
in[0] = *f++;
18
if (strchr("EO", (in[1]=*f++)))
19
in[2] = *f++;
20
k = strftime(out, sizeof out, in, tm);
21
if (!k) return 0;
22
k = mbsrtowcs(wcs, (const char *[]){out}, n, 0);
23
if (k==(size_t)-1) return 0;
24
wcs += k;
25
n -= k;
26
}
27
if (!n) return 0;
28
*wcs++ = 0;
29
return n0-n;
30
}
31
32