X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Ffake-getnameinfo.c;h=e51bce24c7ca20277d6d8a7a7281ff2a90397db7;hp=1eba49253ea387638844de3457e2efbdeb008e4e;hb=09a250a2b1d475700e1d8f18d1a835d17d0483b1;hpb=886a6f61a1f4cc48a77b42d10f34f9126377d904 diff --git a/src/fake-getnameinfo.c b/src/fake-getnameinfo.c index 1eba4925..e51bce24 100644 --- a/src/fake-getnameinfo.c +++ b/src/fake-getnameinfo.c @@ -2,10 +2,10 @@ * fake library for ssh * * This file includes getnameinfo(). - * These funtions are defined in rfc2133. + * These functions are defined in rfc2133. * * But these functions are not implemented correctly. The minimum subset - * is implemented for ssh use only. For exapmle, this routine assumes + * is implemented for ssh use only. For example, this routine assumes * that ai_family is AF_INET. Don't use it for another purpose. */ @@ -21,33 +21,43 @@ int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, size_t host struct hostent *hp; int len; - if(sa->sa_family != AF_INET) + if(sa->sa_family != AF_INET) { return EAI_FAMILY; + } if(serv && servlen) { len = snprintf(serv, servlen, "%d", ntohs(sin->sin_port)); - if(len < 0 || len >= servlen) + + if(len < 0 || len >= servlen) { return EAI_MEMORY; + } } - if(!host || !hostlen) + if(!host || !hostlen) { return 0; + } if(flags & NI_NUMERICHOST) { len = snprintf(host, hostlen, "%s", inet_ntoa(sin->sin_addr)); - if(len < 0 || len >= hostlen) + + if(len < 0 || len >= hostlen) { return EAI_MEMORY; + } + return 0; } hp = gethostbyaddr((char *)&sin->sin_addr, sizeof(struct in_addr), AF_INET); - - if(!hp || !hp->h_name || !hp->h_name[0]) + + if(!hp || !hp->h_name || !hp->h_name[0]) { return EAI_NODATA; - + } + len = snprintf(host, hostlen, "%s", hp->h_name); - if(len < 0 || len >= hostlen) + + if(len < 0 || len >= hostlen) { return EAI_MEMORY; + } return 0; }