[polypaudio-commits] r582 - in /trunk: configure.ac src/Makefile.am src/polypcore/inet_pton.c src/polypcore/inet_pton.h src/polypcore/socket-server.c

svnmailer-noreply at 0pointer.de svnmailer-noreply at 0pointer.de
Thu Feb 23 01:30:32 PST 2006


Author: ossman
Date: Thu Feb 23 10:30:31 2006
New Revision: 582

URL: http://0pointer.de/cgi-bin/viewcvs.cgi?rev=582&root=polypaudio&view=rev
Log:
Add inet_pton emulation for platforms that lack it. Only support IPv4 at
this point.

Added:
    trunk/src/polypcore/inet_pton.c   (with props)
    trunk/src/polypcore/inet_pton.h
Modified:
    trunk/configure.ac
    trunk/src/Makefile.am
    trunk/src/polypcore/socket-server.c

Modified: trunk/configure.ac
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/configure.ac?rev=582&root=polypaudio&r1=581&r2=582&view=diff
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Thu Feb 23 10:30:31 2006
@@ -206,7 +206,7 @@
 AC_FUNC_GETGROUPS
 AC_FUNC_SELECT_ARGTYPES
 AC_CHECK_FUNCS([getaddrinfo getgrgid_r getpwuid_r gettimeofday getuid \
-    inet_ntop nanosleep setpgid setsid sigaction sleep])
+    inet_ntop inet_pton nanosleep setpgid setsid sigaction sleep])
 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
 
 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")

Modified: trunk/src/Makefile.am
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/Makefile.am?rev=582&root=polypaudio&r1=581&r2=582&view=diff
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Thu Feb 23 10:30:31 2006
@@ -601,6 +601,7 @@
 
 libsocket_server_la_SOURCES = \
 		polypcore/inet_ntop.c polypcore/inet_ntop.h \
+		polypcore/inet_pton.c polypcore/inet_pton.h \
 		polypcore/socket-server.c polypcore/socket-server.h
 libsocket_server_la_LDFLAGS = -avoid-version
 libsocket_server_la_LIBADD = $(AM_LIBADD) libpolypcore.la libiochannel.la libsocket-util.la $(LIBWRAP_LIBS) $(WINSOCK_LIBS)

Added: trunk/src/polypcore/inet_pton.c
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/polypcore/inet_pton.c?rev=582&root=polypaudio&view=auto
==============================================================================
--- trunk/src/polypcore/inet_pton.c (added)
+++ trunk/src/polypcore/inet_pton.c Thu Feb 23 10:30:31 2006
@@ -1,0 +1,62 @@
+/* $Id$ */
+
+/***
+  This file is part of polypaudio.
+ 
+  polypaudio is free software; you can redistribute it and/or modify
+  it under the terms of the GNU Lesser General Public License as
+  published by the Free Software Foundation; either version 2.1 of the
+  License, or (at your option) any later version.
+ 
+  polypaudio is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+ 
+  You should have received a copy of the GNU Lesser General Public
+  License along with polypaudio; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+  USA.
+***/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <errno.h>
+#include <assert.h>
+
+#ifndef HAVE_INET_PTON
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#include "winsock.h"
+
+#include "inet_pton.h"
+
+int inet_pton(int af, const char *src, void *dst) {
+    struct in_addr *in = (struct in_addr*)dst;
+    struct in6_addr *in6 = (struct in6_addr*)dst;
+
+    assert(src && dst);
+
+    switch (af) {
+    case AF_INET:
+        in->s_addr = inet_addr(src);
+        if (in->s_addr == INADDR_NONE)
+            return 0;
+        break;
+    case AF_INET6:
+        /* FIXME */
+    default:
+        errno = EAFNOSUPPORT;
+        return -1;
+    }
+
+    return 1;
+}
+
+#endif /* INET_PTON */

Propchange: trunk/src/polypcore/inet_pton.c
------------------------------------------------------------------------------
    svn:keywords = Id

Added: trunk/src/polypcore/inet_pton.h
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/polypcore/inet_pton.h?rev=582&root=polypaudio&view=auto
==============================================================================
--- trunk/src/polypcore/inet_pton.h (added)
+++ trunk/src/polypcore/inet_pton.h Thu Feb 23 10:30:31 2006
@@ -1,0 +1,12 @@
+#ifndef fooinet_ptonhfoo
+#define fooinet_ptonhfoo
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#include "winsock.h"
+
+int inet_pton(int af, const char *src, void *dst);
+
+#endif

Modified: trunk/src/polypcore/socket-server.c
URL: http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/polypcore/socket-server.c?rev=582&root=polypaudio&r1=581&r2=582&view=diff
==============================================================================
--- trunk/src/polypcore/socket-server.c (original)
+++ trunk/src/polypcore/socket-server.c Thu Feb 23 10:30:31 2006
@@ -56,6 +56,10 @@
 #include "inet_ntop.h"
 #endif
 
+#ifndef HAVE_INET_PTON
+#include "inet_pton.h"
+#endif
+
 #include "winsock.h"
 
 #include <polypcore/socket-util.h>




More information about the pulseaudio-commits mailing list