rem: if (load_tm_api(&uac_tmb)!=0) { LOG(L_ERR, "ERROR:uac:mod_init: can't load TM API\n"); goto error; }
context: static int mod_init(void){	LOG(L_INFO,"UAC - initializing\n");	if (from_restore_mode_str && *from_restore_mode_str) {		if (strcasecmp(from_restore_mode_str,"none")==0) {			from_restore_mode = FROM_NO_RESTORE;		} else if (strcasecmp(from_restore_mode_str,"manual")==0) {			from_restore_mode = FROM_MANUAL_RESTORE;		} else if (strcasecmp(from_restore_mode_str,"auto")==0) {			from_restore_mode = FROM_AUTO_RESTORE;		} else {			LOG(L_ERR,"ERROR:uac:mod_init: unsupported value '%s' for "				"from_restore_mode\n",from_restore_mode_str);			goto error;		}	}	if (from_restore_mode!=FROM_NO_RESTORE &&			from_restore_mode!=FROM_AUTO_RESTORE &&			from_restore_mode!=FROM_MANUAL_RESTORE )	{		LOG(L_ERR,"ERROR:uac:mod_init: invalid (%d) restore_from mode\n",			from_restore_mode);	}	rr_param.len = strlen(rr_param.s);	if (rr_param.len==0 && from_restore_mode!=FROM_NO_RESTORE)	{		LOG(L_ERR,"ERROR:uac:mod_init: rr_store_param cannot be empty "			"if FROM is restoreable\n");		goto error;	}	if (from_restore_mode!=FROM_NO_RESTORE) {		/* load the TM API */		if (load_tm_api(&uac_tmb)!=0) {			LOG(L_ERR, "ERROR:uac:mod_init: can't load TM API\n");			goto error;		}		/* load the RR API */		if (load_rr_api(&uac_rrb)!=0) {			LOG(L_ERR, "ERROR:uac:mod_init: can't load RR API\n");			goto error;		}		if (from_restore_mode==FROM_AUTO_RESTORE) {			/* get all requests doing loose route */			if (uac_rrb.register_rrcb( rr_checker, 0)!=0) {				LOG(L_ERR,"ERROR:uac:mod_init: failed to install "					"RR callback\n");				goto error;			}		}	}	init_from_replacer();	return 0;error:	return -1;}