Changeset 1348:6221ddafe23f in roaraudio


Ignore:
Timestamp:
03/23/09 16:51:56 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

worte better handling of tailing slashes, corrected DECnet call to roar_vio_socket_get_port()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/vio_socket.c

    r1345 r1348  
    309309 char           * proto = NULL; 
    310310 int              port; 
    311  int              len; 
     311 char           * ts; 
    312312 
    313313 if ( service == NULL || domain == -1 || type == -1 ) 
    314314  return -1; 
    315315 
    316  if ( (len = strlen(service)) < 1 ) 
    317   return -1; 
    318  
    319  if ( service[len-1] == '/' ) 
    320   service[len-1] = 0; 
     316 if ( (ts = strstr(service, "/")) != NULL ) 
     317  *ts = 0; 
    321318 
    322319 if ( sscanf(service, "%i", &port) == 1 ) 
    323320  return port; 
     321 
     322 if ( ts != NULL ) 
     323  *ts = '/'; 
    324324 
    325325 switch (domain) { 
     
    351351 } 
    352352 
     353 if ( ts != NULL ) 
     354  *ts = 0; 
     355 
    353356 if ( (serv = getservbyname(service, proto)) == NULL ) { 
    354357  ROAR_ERR("roar_vio_socket_get_port(*): Unknown service: %s/%s: %s", service, proto, strerror(errno)); 
    355   return -1; 
    356  } 
     358 
     359  if ( ts != NULL ) 
     360   *ts = '/'; 
     361 
     362  return -1; 
     363 } 
     364 
     365 if ( ts != NULL ) 
     366  *ts = '/'; 
    357367 
    358368 return ROAR_NET2HOST16(serv->s_port); 
     
    386396 
    387397 if ( object == -1 ) 
    388   object = roar_vio_socket_get_port(object, AF_DECnet, SOCK_STREAM); 
     398  object = roar_vio_socket_get_port(objname, AF_DECnet, SOCK_STREAM); 
    389399 
    390400 if ( object == -1 ) 
Note: See TracChangeset for help on using the changeset viewer.