1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| | #include <unistd.h>
#include <stdio.h>
#include <errno.h>
size_t confstr(int name, char *buf, size_t len)
{
const char *s = "";
if (!name) {
s = "/bin:/usr/bin";
} else if ((name&~4U)!=1 && name-_CS_POSIX_V6_ILP32_OFF32_CFLAGS>33U) {
errno = EINVAL;
return 0;
}
if (name == _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS ||
// Since sysconf _SC_V7_ILP32_OFF32 = -1
name == _CS_POSIX_V7_ILP32_OFF32_CFLAGS ||
name == _CS_POSIX_V7_ILP32_OFF32_LDFLAGS ||
name == _CS_POSIX_V7_ILP32_OFF32_LIBS ||
// Since sysconf _SC_V7_LPBIG_OFFBIG = -1
name == _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS ||
name == _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS ||
name == _CS_POSIX_V7_LPBIG_OFFBIG_LIBS) {
return 0;
}
// snprintf is overkill but avoid wasting code size to implement
// this completely useless function and its truncation semantics
return snprintf(buf, len, "%s", s) + 1;
}
|