Commit c0756562 authored by Andriy Gelman's avatar Andriy Gelman Committed by Michael Niedermayer

avformat/libzmq: Replace fail statements with goto

Signed-off-by: 's avatarAndriy Gelman <andriy.gelman@gmail.com>
Reviewed-by: 's avatarPaul B Mahol <onemda@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 1054b68a
...@@ -101,16 +101,13 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags) ...@@ -101,16 +101,13 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags)
s->socket = zmq_socket(s->context, ZMQ_PUB); s->socket = zmq_socket(s->context, ZMQ_PUB);
if (!s->socket) { if (!s->socket) {
av_log(h, AV_LOG_ERROR, "Error occured during zmq_socket(): %s\n", ZMQ_STRERROR); av_log(h, AV_LOG_ERROR, "Error occured during zmq_socket(): %s\n", ZMQ_STRERROR);
zmq_ctx_term(s->context); goto fail_term;
return AVERROR_EXTERNAL;
} }
ret = zmq_bind(s->socket, uri); ret = zmq_bind(s->socket, uri);
if (ret == -1) { if (ret == -1) {
av_log(h, AV_LOG_ERROR, "Error occured during zmq_bind(): %s\n", ZMQ_STRERROR); av_log(h, AV_LOG_ERROR, "Error occured during zmq_bind(): %s\n", ZMQ_STRERROR);
zmq_close(s->socket); goto fail_close;
zmq_ctx_term(s->context);
return AVERROR_EXTERNAL;
} }
} }
...@@ -119,27 +116,28 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags) ...@@ -119,27 +116,28 @@ static int zmq_proto_open(URLContext *h, const char *uri, int flags)
s->socket = zmq_socket(s->context, ZMQ_SUB); s->socket = zmq_socket(s->context, ZMQ_SUB);
if (!s->socket) { if (!s->socket) {
av_log(h, AV_LOG_ERROR, "Error occured during zmq_socket(): %s\n", ZMQ_STRERROR); av_log(h, AV_LOG_ERROR, "Error occured during zmq_socket(): %s\n", ZMQ_STRERROR);
zmq_ctx_term(s->context); goto fail_term;
return AVERROR_EXTERNAL;
} }
ret = zmq_setsockopt(s->socket, ZMQ_SUBSCRIBE, "", 0); ret = zmq_setsockopt(s->socket, ZMQ_SUBSCRIBE, "", 0);
if (ret == -1) { if (ret == -1) {
av_log(h, AV_LOG_ERROR, "Error occured during zmq_setsockopt(): %s\n", ZMQ_STRERROR); av_log(h, AV_LOG_ERROR, "Error occured during zmq_setsockopt(): %s\n", ZMQ_STRERROR);
zmq_close(s->socket); goto fail_close;
zmq_ctx_term(s->context);
return AVERROR_EXTERNAL;
} }
ret = zmq_connect(s->socket, uri); ret = zmq_connect(s->socket, uri);
if (ret == -1) { if (ret == -1) {
av_log(h, AV_LOG_ERROR, "Error occured during zmq_connect(): %s\n", ZMQ_STRERROR); av_log(h, AV_LOG_ERROR, "Error occured during zmq_connect(): %s\n", ZMQ_STRERROR);
zmq_close(s->socket); goto fail_close;
zmq_ctx_term(s->context);
return AVERROR_EXTERNAL;
} }
} }
return 0; return 0;
fail_close:
zmq_close(s->socket);
fail_term:
zmq_ctx_term(s->context);
return AVERROR_EXTERNAL;
} }
static int zmq_proto_write(URLContext *h, const unsigned char *buf, int size) static int zmq_proto_write(URLContext *h, const unsigned char *buf, int size)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment