--- /dev/null
+# 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
--- /dev/null
+#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;
+}
--- /dev/null
+#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;
+}