diff options
author | Mans Rullgard <mans@mansr.com> | 2012-10-14 20:24:51 +0100 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2012-10-23 12:00:21 +0100 |
commit | c3e73100af9b685be796bcd3e68786130d45ea24 (patch) | |
tree | 54b7d357df7d67f8de47d8ba5ff1e31110622c2e | |
parent | da0d0ae9a4294fcc42b7159b902c8950ad1abb54 (diff) | |
download | ffmpeg-c3e73100af9b685be796bcd3e68786130d45ea24.tar.gz |
network: use getservbyport() only if available
The absence of this function will only give a less informative
string back from our fallback implementation of getnameinfo().
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | libavformat/os_support.c | 2 |
2 files changed, 4 insertions, 0 deletions
@@ -1190,6 +1190,7 @@ HAVE_LIST=" GetProcessTimes GetSystemTimeAsFileTime getrusage + getservbyport gettimeofday gnu_as ibm_asm @@ -3158,6 +3159,7 @@ if enabled network; then check_struct "sys/types.h sys/socket.h" "struct sockaddr" sa_len check_type netinet/sctp.h "struct sctp_event_subscribe" check_func getaddrinfo $network_extralibs + check_func getservbyport $network_extralibs # Prefer arpa/inet.h over winsock2 if check_header arpa/inet.h ; then check_func closesocket diff --git a/libavformat/os_support.c b/libavformat/os_support.c index 7618708283..451801ff70 100644 --- a/libavformat/os_support.c +++ b/libavformat/os_support.c @@ -235,8 +235,10 @@ int ff_getnameinfo(const struct sockaddr *sa, int salen, if (serv && servlen > 0) { struct servent *ent = NULL; +#if HAVE_GETSERVBYPORT if (!(flags & NI_NUMERICSERV)) ent = getservbyport(sin->sin_port, flags & NI_DGRAM ? "udp" : "tcp"); +#endif if (ent) snprintf(serv, servlen, "%s", ent->s_name); |