Changeset 1178:3ec5d99364a2 in roaraudio for libroar/simple.c


Ignore:
Timestamp:
01/25/09 12:54:58 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

some cleanup, guess AF_UNIX on getsockname() set len = 0 on OpenBSD

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/simple.c

    r1172 r1178  
    123123 int fh = -1, listen = -1; 
    124124 static int count = 0; 
    125  struct group   * grp  = NULL; 
     125// struct group   * grp  = NULL; 
    126126 int    type = ROAR_SOCKET_TYPE_UNIX; 
    127127 int    port = 0; 
     
    137137 } 
    138138 
    139  if ( socket_addr.sin_family == AF_INET ) { 
    140   type = ROAR_SOCKET_TYPE_INET; 
    141  } else if ( socket_addr.sin_family == AF_UNIX ) { 
    142   type = ROAR_SOCKET_TYPE_UNIX; 
    143  } else if ( socket_addr.sin_family == AF_DECnet ) { 
    144   type = ROAR_SOCKET_TYPE_DECNET; 
    145  } else { 
    146   return -1; 
     139 if ( len == 0 ) { 
     140#ifdef ROAR_OS_OPENBSD 
     141  ROAR_WARN("roar_simple_new_stream_obj(*): Unknown address family: guess AF_UNIX because OS is OpenBSD"); 
     142  socket_addr.sin_family = AF_UNIX; 
     143#else 
     144  return -1; 
     145#endif 
     146 } 
     147 
     148 switch (socket_addr.sin_family) { 
     149  case AF_UNIX:   type = ROAR_SOCKET_TYPE_UNIX; break; 
     150  case AF_INET:   type = ROAR_SOCKET_TYPE_INET; break; 
     151  case AF_DECnet: type = ROAR_SOCKET_TYPE_DECNET; break; 
     152  default: 
     153    return -1; 
     154   break; 
    147155 } 
    148156 
Note: See TracChangeset for help on using the changeset viewer.