mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	stasis_endpoints: Remove silly usage of RAII_VAR.
Change-Id: Ic099dc552f36c353c89783a4bcfd09f010432733
This commit is contained in:
		| @@ -305,8 +305,8 @@ static void endpoint_blob_dtor(void *obj) | ||||
| struct stasis_message *ast_endpoint_blob_create(struct ast_endpoint *endpoint, | ||||
| 	struct stasis_message_type *type, struct ast_json *blob) | ||||
| { | ||||
| 	RAII_VAR(struct ast_endpoint_blob *, obj, NULL, ao2_cleanup); | ||||
| 	RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); | ||||
| 	struct ast_endpoint_blob *obj; | ||||
| 	struct stasis_message *msg; | ||||
|  | ||||
| 	if (!type) { | ||||
| 		return NULL; | ||||
| @@ -321,37 +321,40 @@ struct stasis_message *ast_endpoint_blob_create(struct ast_endpoint *endpoint, | ||||
|  | ||||
| 	if (endpoint) { | ||||
| 		if (!(obj->snapshot = ast_endpoint_snapshot_create(endpoint))) { | ||||
| 			ao2_ref(obj, -1); | ||||
|  | ||||
| 			return NULL; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	obj->blob = ast_json_ref(blob); | ||||
| 	msg = stasis_message_create(type, obj); | ||||
| 	ao2_ref(obj, -1); | ||||
|  | ||||
| 	if (!(msg = stasis_message_create(type, obj))) { | ||||
| 		return NULL; | ||||
| 	} | ||||
|  | ||||
| 	ao2_ref(msg, +1); | ||||
| 	return msg; | ||||
| } | ||||
|  | ||||
| void ast_endpoint_blob_publish(struct ast_endpoint *endpoint, struct stasis_message_type *type, | ||||
| 	struct ast_json *blob) | ||||
| { | ||||
| 	RAII_VAR(struct stasis_message *, message, NULL, ao2_cleanup); | ||||
| 	if (blob) { | ||||
| 		message = ast_endpoint_blob_create(endpoint, type, blob); | ||||
| 	struct stasis_message *message; | ||||
|  | ||||
| 	if (!blob) { | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	message = ast_endpoint_blob_create(endpoint, type, blob); | ||||
| 	if (message) { | ||||
| 		stasis_publish(ast_endpoint_topic(endpoint), message); | ||||
| 		ao2_ref(message, -1); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| struct ast_endpoint_snapshot *ast_endpoint_latest_snapshot(const char *tech, | ||||
| 	const char *name) | ||||
| { | ||||
| 	RAII_VAR(char *, id, NULL, ast_free); | ||||
| 	RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); | ||||
| 	char *id = NULL; | ||||
| 	struct stasis_message *msg; | ||||
| 	struct ast_endpoint_snapshot *snapshot; | ||||
|  | ||||
| 	if (ast_strlen_zero(name)) { | ||||
| @@ -364,8 +367,8 @@ struct ast_endpoint_snapshot *ast_endpoint_latest_snapshot(const char *tech, | ||||
| 	} | ||||
| 	ast_tech_to_upper(id); | ||||
|  | ||||
| 	msg = stasis_cache_get(ast_endpoint_cache(), | ||||
| 		ast_endpoint_snapshot_type(), id); | ||||
| 	msg = stasis_cache_get(ast_endpoint_cache(), ast_endpoint_snapshot_type(), id); | ||||
| 	ast_free(id); | ||||
| 	if (!msg) { | ||||
| 		return NULL; | ||||
| 	} | ||||
| @@ -374,6 +377,8 @@ struct ast_endpoint_snapshot *ast_endpoint_latest_snapshot(const char *tech, | ||||
| 	ast_assert(snapshot != NULL); | ||||
|  | ||||
| 	ao2_ref(snapshot, +1); | ||||
| 	ao2_ref(msg, -1); | ||||
|  | ||||
| 	return snapshot; | ||||
| } | ||||
|  | ||||
| @@ -406,7 +411,7 @@ struct ast_json *ast_endpoint_snapshot_to_json( | ||||
| 	const struct ast_endpoint_snapshot *snapshot, | ||||
| 	const struct stasis_message_sanitizer *sanitize) | ||||
| { | ||||
| 	RAII_VAR(struct ast_json *, json, NULL, ast_json_unref); | ||||
| 	struct ast_json *json; | ||||
| 	struct ast_json *channel_array; | ||||
| 	int i; | ||||
|  | ||||
| @@ -424,6 +429,8 @@ struct ast_json *ast_endpoint_snapshot_to_json( | ||||
| 		int res = ast_json_object_set(json, "max_channels", | ||||
| 			ast_json_integer_create(snapshot->max_channels)); | ||||
| 		if (res != 0) { | ||||
| 			ast_json_unref(json); | ||||
|  | ||||
| 			return NULL; | ||||
| 		} | ||||
| 	} | ||||
| @@ -441,11 +448,13 @@ struct ast_json *ast_endpoint_snapshot_to_json( | ||||
| 		res = ast_json_array_append(channel_array, | ||||
| 			ast_json_string_create(snapshot->channel_ids[i])); | ||||
| 		if (res != 0) { | ||||
| 			ast_json_unref(json); | ||||
|  | ||||
| 			return NULL; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return ast_json_ref(json); | ||||
| 	return json; | ||||
| } | ||||
|  | ||||
| static void endpoints_stasis_cleanup(void) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user