xref: /aosp_15_r20/external/musl/src/conf/confstr.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <unistd.h>
2*c9945492SAndroid Build Coastguard Worker #include <stdio.h>
3*c9945492SAndroid Build Coastguard Worker #include <errno.h>
4*c9945492SAndroid Build Coastguard Worker 
confstr(int name,char * buf,size_t len)5*c9945492SAndroid Build Coastguard Worker size_t confstr(int name, char *buf, size_t len)
6*c9945492SAndroid Build Coastguard Worker {
7*c9945492SAndroid Build Coastguard Worker 	const char *s = "";
8*c9945492SAndroid Build Coastguard Worker 	if (!name) {
9*c9945492SAndroid Build Coastguard Worker 		s = "/bin:/usr/bin";
10*c9945492SAndroid Build Coastguard Worker 	} else if ((name&~4U)!=1 && name-_CS_POSIX_V6_ILP32_OFF32_CFLAGS>35U) {
11*c9945492SAndroid Build Coastguard Worker 		errno = EINVAL;
12*c9945492SAndroid Build Coastguard Worker 		return 0;
13*c9945492SAndroid Build Coastguard Worker 	}
14*c9945492SAndroid Build Coastguard Worker 	// snprintf is overkill but avoid wasting code size to implement
15*c9945492SAndroid Build Coastguard Worker 	// this completely useless function and its truncation semantics
16*c9945492SAndroid Build Coastguard Worker 	return snprintf(buf, len, "%s", s) + 1;
17*c9945492SAndroid Build Coastguard Worker }
18