Changeset 5838:52ca1a88734e in roaraudio for libroar
- Timestamp:
- 01/07/13 02:36:01 (11 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- libroar
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/basic.c
r5832 r5838 46 46 int r; 47 47 char fhstr[12]; 48 size_t len; 48 49 49 50 if ( !strncmp(server, "+fork=", 6) ) { … … 78 79 daemonimage = "roard"; 79 80 81 len = roar_mm_strlen(daemonimage) + 9; // 9 = '+fork=' + 'X:' + '\0' 82 con->server_name = roar_mm_malloc(len); 83 if ( con->server_name != NULL ) { 84 snprintf(con->server_name, len, "+fork=%s%s", mode == NORMAL ? "d:" : "!", daemonimage); 85 } 86 80 87 if ( socketpair(AF_UNIX, SOCK_STREAM, 0, socks) == -1 ) { 81 88 roar_err_from_errno(); … … 164 171 int fh = -1; 165 172 int err; 173 int ret; 166 174 167 175 if ( con == NULL || server == NULL ) { … … 177 185 return -1; 178 186 con->flags |= ROAR_CON_FLAGS_VIO; 187 con->server_name = roar_mm_strdup(server); 179 188 return 0; 180 189 } else if ( !strcmp(server, "+fork") || !strncmp(server, "+fork=", 6) ) { 181 190 return _start_server(con, server, type, flags, timeout); 182 191 } else if ( !strcmp(server, "+internal") || !strncmp(server, "+internal=", 10) ) { 183 return _connect_internal(con, server, type, flags, timeout); 192 ret = _connect_internal(con, server, type, flags, timeout); 193 if ( ret == 0 ) 194 con->server_name = roar_mm_strdup(server); 195 return ret; 184 196 } 185 197 … … 217 229 218 230 if ( *obj == 0 ) { 219 #ifdef DN_MAXOBJL220 231 roar_mm_strlcat(user_sock, ROAR_DEFAULT_OBJECT, sizeof(user_sock)-1); 221 232 user_sock[sizeof(user_sock)-1] = 0; 222 #else 223 ROAR_ERR("roar_connect_raw(*): size of DECnet object unknown."); 224 #endif 225 } 226 ROAR_DBG("roar_connect_raw(*): user_sock='%s'", user_sock); 233 } 234 235 ROAR_DBG("roar_connect_raw(*): user_sock='%s'", user_sock); 227 236 } 228 237 … … 265 274 } 266 275 276 con->server_name = roar_mm_strdup(server); 277 267 278 roar_err_set(ROAR_ERROR_NONE); 268 279 return 0; … … 449 460 return -1; 450 461 451 // TODO: this should be moved to be within _connect_server() so it also stores server names of auto located servers.452 if ( server != NULL ) {453 con->server_name = roar_mm_strdup(server);454 }455 456 462 return 0; 457 463 } -
libroar/config.c
r5833 r5838 36 36 #include "libroar.h" 37 37 38 #define LEN_AUTHFILE 1024 39 38 40 static struct roar_libroar_config_codec * 39 41 roar_libroar_config_codec_get_conf(int32_t codec, int create, struct roar_libroar_config * config); … … 43 45 static struct roar_libroar_config config; 44 46 static int inited = 0; 45 static char authfile[ 1024];47 static char authfile[LEN_AUTHFILE]; 46 48 const char * home = roar_env_get_home(0); 47 49 … … 102 104 config->codecs.num = 0; 103 105 } 106 107 if ( config->x11.display != NULL ) 108 roar_mm_free(config->x11.display); 109 config->x11.display = NULL; 110 111 if ( config->daemonimage != NULL ) 112 roar_mm_free(config->daemonimage); 113 config->daemonimage = NULL; 104 114 105 115 return 0; … … 308 318 roar_libroar_set_server(v); 309 319 } else if ( !strcmp(k, "set-authfile") ) { 310 strncpy(config->authfile, v, 1023);311 config->authfile[ 1023] = 0;320 strncpy(config->authfile, v, LEN_AUTHFILE-1); 321 config->authfile[LEN_AUTHFILE-1] = 0; 312 322 } else if ( !strcmp(k, "x11-display") ) { 313 config->x11.display = v; 323 if ( config->x11.display != NULL ) 324 roar_mm_free(config->x11.display); 325 config->x11.display = roar_mm_strdup(v); 314 326 } else if ( !strcmp(k, "daemonimage") ) { 315 config->daemonimage = v; 327 if ( config->daemonimage != NULL ) 328 roar_mm_free(config->daemonimage); 329 config->daemonimage = roar_mm_strdup(v); 316 330 } else if ( !strcmp(k, "serverflags") ) { 317 331 if ( !strcmp(v, "nonblock") ) {
Note: See TracChangeset
for help on using the changeset viewer.