Changeset 1353:d3fff5536a2e in roaraudio for libroar/vio_proto.c


Ignore:
Timestamp:
03/23/09 19:52:54 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

we need to set access modes and init next->def in case of sockets, got tcp:...##gopher:##file:... working :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/vio_proto.c

    r1352 r1353  
    5050 } 
    5151 
     52 if ( dstr == NULL ) 
     53  dstr = "//"; 
     54 
    5255 if ( roar_vio_dstr_init_defaults(def, ROAR_VIO_DEF_TYPE_SOCKET, O_RDWR, 0644) == -1 ) 
    5356  return -1; 
     
    6265  *ed = 0; 
    6366 
     67 ROAR_WARN("roar_vio_proto_init_def(*): def->o_flags=%i", def->o_flags); 
     68 
    6469 ret = roar_vio_socket_init_dstr_def(def, dstr, -1, SOCK_STREAM, def); 
     70 
     71 ROAR_WARN("roar_vio_proto_init_def(*): def->o_flags=%i", def->o_flags); 
    6572 
    6673 if ( ed != NULL ) 
     
    7784 ROAR_WARN("roar_vio_open_proto(calls=%p, dst=%p, dstr='%s', proto=%i, odef=%p) = ?", calls, dst, dstr, proto, odef); 
    7885 
    79  if ( calls == NULL || dst == NULL || dstr == NULL ) 
     86 if ( calls == NULL || dst == NULL || odef == NULL ) 
    8087  return -1; 
    8188 
     89 ROAR_WARN("roar_vio_open_proto(*): odef->o_flags=%i", odef->o_flags); 
    8290 ROAR_DBG("roar_vio_open_proto(*) = ?"); 
    8391 
     
    8593  return -1; 
    8694 
    87  dstr += 2; 
    88  host  = dstr; 
     95 ROAR_DBG("roar_vio_open_proto(*) = ?"); 
    8996 
    90  if ( (tmp = strstr(dstr, "/")) == NULL ) 
    91   return -1; 
     97 if ( dstr != NULL ) { 
     98  dstr += 2; 
     99  host  = dstr; 
    92100 
    93  *tmp++ = 0; 
    94  dstr   = tmp; 
     101  if ( (tmp = strstr(dstr, "/")) == NULL ) 
     102   return -1; 
    95103 
    96  if ( (tmp = strstr(dstr, "#")) != NULL ) 
    97   *tmp = 0; 
     104  *tmp++ = 0; 
     105  dstr   = tmp; 
     106 
     107  if ( (tmp = strstr(dstr, "#")) != NULL ) 
     108   *tmp = 0; 
     109 } else { 
     110  ROAR_DBG("roar_vio_open_proto(*): no dstr!, odef->type=%i", odef->type); 
     111  if ( odef->type == ROAR_VIO_DEF_TYPE_FILE ) { 
     112   dstr = odef->d.file; 
     113   host = "localhost"; 
     114 
     115   for (; *dstr == '/'; dstr++); 
     116 
     117  } else if ( odef->type == ROAR_VIO_DEF_TYPE_SOCKET ) { 
     118   dstr = ""; // index document 
     119   host = odef->d.socket.host; 
     120  } else { 
     121   return -1; 
     122  } 
     123 } 
    98124 
    99125 ROAR_DBG("roar_vio_open_proto(*) = ?"); 
     126 ROAR_WARN("roar_vio_open_proto(*): proto=%i, host='%s', file='%s'", proto, host, dstr); 
    100127 
    101128 switch (proto) { 
Note: See TracChangeset for help on using the changeset viewer.