[BACK]Return to sio.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / io

Diff for /OpenXM_contrib2/asir2000/io/sio.c between version 1.9.2.2 and 1.9.2.3

version 1.9.2.2, 2000/11/08 08:31:55 version 1.9.2.3, 2000/11/10 14:57:24
Line 44 
Line 44 
  * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY   * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  * $OpenXM: OpenXM_contrib2/asir2000/io/sio.c,v 1.9.2.1 2000/11/08 08:18:14 maekawa Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/sio.c,v 1.9.2.2 2000/11/08 08:31:55 maekawa Exp $
 */  */
 #if INET  #if INET
 #include "ca.h"  #include "ca.h"
Line 86  void getremotename(s,name)
Line 86  void getremotename(s,name)
 int s;  int s;
 char *name;  char *name;
 {  {
         union {          struct sockaddr_strorage ss;
                 struct sockaddr sa;  
                 char data[SOCK_MAXADDRLEN];  
         } dummy;  
         struct sockaddr *sa;          struct sockaddr *sa;
         socklen_t len;          socklen_t len;
         char host[NI_MAXHOST];          char host[NI_MAXHOST];
         int rs;          int rs;
   
         rs = getremotesocket(s);          rs = getremotesocket(s);
         len = SOCK_MAXADDRLEN;          len = sizeof(ss);
         getpeername(rs, (struct sockaddr *)dummy.data, &len);          getpeername(rs, (struct sockaddr *)&ss, &len);
         sa = &(dummy.sa);          sa = (struct sockaddr *)&ss;
         getnameinfo(sa, sa->sa_len, host, sizeof(host), NULL, 0, 0);          getnameinfo(sa, sa->sa_len, host, sizeof(host), NULL, 0, 0);
         strcpy(name, host);          strcpy(name, host);
 }  }
Line 151  char *port_str;
Line 148  char *port_str;
                 return (-1);                  return (-1);
         }          }
   
           s = -1;
         for (ai = res ; ai != NULL ; ai = ai->ai_next) {          for (ai = res ; ai != NULL ; ai = ai->ai_next) {
                 if ((s = socket(ai->ai_family, ai->ai_socktype,                  if ((s = socket(ai->ai_family, ai->ai_socktype,
                                 ai->ai_protocol)) < 0 ) {                                  ai->ai_protocol)) < 0 ) {
Line 198  char *port_str;
Line 196  char *port_str;
 int try_accept(s)  int try_accept(s)
 int s;  int s;
 {  {
         union {          struct sockaddr_storage ss;
                 struct sockaddr sa;  
                 char data[SOCK_MAXADDRLEN];  
         } dummy;  
         socklen_t len;          socklen_t len;
         int c, i;          int c, i;
   
         len = SOCK_MAXADDRLEN;          len = sizeof(ss);
         if (getsockname(s, (struct sockaddr *)dummy.data, &len) < 0) {          if (getsockname(s, (struct sockaddr *)&ss, &len) < 0) {
                 close(s);                  close(s);
                 return (-1)                  return (-1)
         }          }
   
         for (i = 0 ; i < 10 ; i++) {          for (i = 0 ; i < 10 ; i++) {
                 c = accept(s, &(dummy.sa), &len);                  c = accept(s, (struct sockaddr *)&ss, &len);
                 if (c >= 0) {                  if (c >= 0) {
                         close(s);                          close(s);
                         return (c);                          return (c);
Line 248  char *host,*port_str;
Line 243  char *host,*port_str;
                 return (-1);                  return (-1);
         }          }
         for (i = 0 ; i < 10 ; i++) {          for (i = 0 ; i < 10 ; i++) {
                   s = -1;
                 for (ai = res ; ai != NULL ; ai = ai->ai_next) {                  for (ai = res ; ai != NULL ; ai = ai->ai_next) {
                         if ((s = socket(ai->ai_family, ai->ai_socktype,                          if ((s = socket(ai->ai_family, ai->ai_socktype,
                                         ai->ai_protocol)) < 0 ) {                                          ai->ai_protocol)) < 0 ) {

Legend:
Removed from v.1.9.2.2  
changed lines
  Added in v.1.9.2.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>