X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fos_support.c;h=5a3a1bbfe014a5930be4539fa88c1123d0991194;hb=80c6e238b0f42a0b07fbc195564a50032b3608ba;hp=4bf2e268cf03e3197ca7312aa525fe18ed94df3e;hpb=a34fc5e23d53f560e4445de84af010c1be6aa8a6;p=ffmpeg diff --git a/libavformat/os_support.c b/libavformat/os_support.c index 4bf2e268cf0..5a3a1bbfe01 100644 --- a/libavformat/os_support.c +++ b/libavformat/os_support.c @@ -3,35 +3,36 @@ * Copyright (c) 2000, 2001, 2002 Fabrice Bellard * copyright (c) 2002 Francois Revol * - * This file is part of FFmpeg. + * This file is part of Libav. * - * FFmpeg is free software; you can redistribute it and/or + * Libav 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. * - * FFmpeg is distributed in the hope that it will be useful, + * Libav 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 FFmpeg; if not, write to the Free Software + * License along with Libav; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* needed by inet_aton() */ #define _SVID_SOURCE +#define _DARWIN_C_SOURCE #include "config.h" #include "avformat.h" -#include -#include -#include #include "os_support.h" #if CONFIG_NETWORK +#include +#include #if !HAVE_POLL_H +#include #if HAVE_WINSOCK2_H #include #elif HAVE_SYS_SELECT_H @@ -45,7 +46,7 @@ #include #include -int inet_aton (const char * str, struct in_addr * add) +int ff_inet_aton (const char * str, struct in_addr * add) { unsigned int add1 = 0, add2 = 0, add3 = 0, add4 = 0; @@ -58,6 +59,11 @@ int inet_aton (const char * str, struct in_addr * add) return 1; } +#else +int ff_inet_aton (const char * str, struct in_addr * add) +{ + return inet_aton(str, add); +} #endif /* !HAVE_INET_ATON */ #if !HAVE_GETADDRINFO @@ -85,7 +91,7 @@ int ff_getaddrinfo(const char *node, const char *service, sin->sin_family = AF_INET; if (node) { - if (!inet_aton(node, &sin->sin_addr)) { + if (!ff_inet_aton(node, &sin->sin_addr)) { if (hints && (hints->ai_flags & AI_NUMERICHOST)) { av_free(sin); return EAI_FAIL; @@ -217,41 +223,6 @@ const char *ff_gai_strerror(int ecode) } #endif -/* resolve host with also IP address parsing */ -int resolve_host(struct in_addr *sin_addr, const char *hostname) -{ - - if (!inet_aton(hostname, sin_addr)) { -#if HAVE_GETADDRINFO - struct addrinfo *ai, *cur; - struct addrinfo hints; - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_INET; - if (getaddrinfo(hostname, NULL, &hints, &ai)) - return -1; - /* getaddrinfo returns a linked list of addrinfo structs. - * Even if we set ai_family = AF_INET above, make sure - * that the returned one actually is of the correct type. */ - for (cur = ai; cur; cur = cur->ai_next) { - if (cur->ai_family == AF_INET) { - *sin_addr = ((struct sockaddr_in *)cur->ai_addr)->sin_addr; - freeaddrinfo(ai); - return 0; - } - } - freeaddrinfo(ai); - return -1; -#else - struct hostent *hp; - hp = gethostbyname(hostname); - if (!hp) - return -1; - memcpy(sin_addr, hp->h_addr_list[0], sizeof(struct in_addr)); -#endif - } - return 0; -} - int ff_socket_nonblock(int socket, int enable) { #if HAVE_WINSOCK2_H @@ -263,9 +234,7 @@ int ff_socket_nonblock(int socket, int enable) return fcntl(socket, F_SETFL, fcntl(socket, F_GETFL) & ~O_NONBLOCK); #endif } -#endif /* CONFIG_NETWORK */ -#if CONFIG_FFSERVER #if !HAVE_POLL_H int poll(struct pollfd *fds, nfds_t numfds, int timeout) { @@ -323,7 +292,7 @@ int poll(struct pollfd *fds, nfds_t numfds, int timeout) if (rc < 0) return rc; - for(i = 0; i < (nfds_t) n; i++) { + for(i = 0; i < numfds; i++) { fds[i].revents = 0; if (FD_ISSET(fds[i].fd, &read_set)) fds[i].revents |= POLLIN; @@ -334,5 +303,4 @@ int poll(struct pollfd *fds, nfds_t numfds, int timeout) return rc; } #endif /* HAVE_POLL_H */ -#endif /* CONFIG_FFSERVER */ - +#endif /* CONFIG_NETWORK */