diff options
| -rw-r--r-- | test/rpc/Makefile | 38 | ||||
| -rw-r--r-- | test/rpc/getrpcent.c | 18 | ||||
| -rw-r--r-- | test/rpc/getrpcent_r.c | 25 | 
3 files changed, 81 insertions, 0 deletions
diff --git a/test/rpc/Makefile b/test/rpc/Makefile new file mode 100644 index 000000000..58f04f634 --- /dev/null +++ b/test/rpc/Makefile @@ -0,0 +1,38 @@ +# Makefile for uClibc +# +# Copyright (C) 2005 Erik Andersen <andersen@uclibc.org> + +include ../Rules.mak + +# getrpcent_r_diff +TARGETS = getrpcent getrpcent_glibc getrpcent_diff + +all: $(TARGETS) + +getrpcent: getrpcent.c Makefile $(TESTDIR)/Rules.mak +	-@ echo "-------" +	-@ echo " " +	-@ echo "Compiling $@ vs uClibc: " +	-@ echo " " +	$(CC) $(CFLAGS) -c $< -o $@.o +	$(CC) $(LDFLAGS) $@.o -o $@ $(EXTRA_LIBS) +	$(STRIPTOOL) -x -R .note -R .comment $@ +	./$@ > getrpcent.out +	-@ echo " " + +getrpcent_glibc: getrpcent.c Makefile $(TESTDIR)/Rules.mak +	-@ echo "-------" +	-@ echo " " +	-@ echo "Compiling $@ vs glibc: " +	-@ echo " " +	$(HOSTCC) $(GLIBC_CFLAGS) -c $< -o $@.o +	$(HOSTCC) $(GLIBC_LDFLAGS) $@.o -o $@ +	$(STRIPTOOL) -x -R .note -R .comment $@ +	./$@ > getrpcent_glibc.out +	-@ echo " " + +getrpcent_diff: getrpcent getrpcent_glibc +	diff -u getrpcent_glibc.out getrpcent.out + +clean: +	$(RM) *.[oa] *~ core $(TARGETS) *.out diff --git a/test/rpc/getrpcent.c b/test/rpc/getrpcent.c new file mode 100644 index 000000000..e12e76806 --- /dev/null +++ b/test/rpc/getrpcent.c @@ -0,0 +1,18 @@ +#include <netdb.h> +#include <stdio.h> + +int main(int argc, char *argv[]) +{ +	struct rpcent *ent; + +	while ((ent = getrpcent()) != NULL) { +		printf("%s: %i", ent->r_name, ent->r_number); +		while (ent->r_aliases[0]) +			printf(" %s", *ent->r_aliases++); +		printf("\n"); +	} + +	endrpcent(); + +	return 0; +} diff --git a/test/rpc/getrpcent_r.c b/test/rpc/getrpcent_r.c new file mode 100644 index 000000000..29cd5c278 --- /dev/null +++ b/test/rpc/getrpcent_r.c @@ -0,0 +1,25 @@ +#include <netdb.h> +#include <stdio.h> +#include <errno.h> + +int main(int argc, char *argv[]) +{ +	int ret; +	char rpcdata[10024]; +	struct rpcent rpcbuf, *ent; +memset(rpcdata, 0x00, sizeof(rpcdata)); + +	while ((ret = getrpcent_r(&rpcbuf, rpcdata, sizeof(rpcdata), &ent)) == 0) { +		printf("%s: %i", ent->r_name, ent->r_number); +		while (ent->r_aliases[0]) +			printf(" %s", *ent->r_aliases++); +		printf("\n"); +	} + +	if (ret != ENOENT) +		printf("Test failed: %s\n", strerror(ret)); + +	endrpcent(); + +	return 0; +}  | 
