Use weak __thread declarations in parlib-compat (XCC)
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.19-akaros / sysdeps / akaros / getsrvbypt_r.c
index 009c6ef..96890f6 100644 (file)
@@ -1,9 +1,32 @@
+/* 
+ * This file is part of the UCB release of Plan 9. It is subject to the license
+ * terms in the LICENSE file found in the top-level directory of this
+ * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
+ * part of the UCB release of Plan 9, including this file, may be copied,
+ * modified, propagated, or distributed except according to the terms contained
+ * in the LICENSE file.
+ */
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdio.h>
+
+/* bsd extensions */
+#include <sys/uio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
 #include <netdb.h>
+#include <arpa/inet.h>
+
+#include <sys/plan9_helpers.h>
 
 int __getservbyport_r(int port, const char *proto, struct servent *result_buf,
                       char *buf, size_t buflen, struct servent **result)
 {
-       return 0;
+
+       char port_buf[32];
+
+       snprintf(port_buf, sizeof(port_buf), "%d", port);
+       /* the plan 9 version can handle a port or a name */
+       return getservbyname_r(port_buf, proto, result_buf, buf, buflen, result);
 }
 weak_alias(__getservbyport_r, getservbyport_r);
-stub_warning(getservbyport_r);