ffmpeg | branch: master | Michael Niedermayer <michae...@gmx.at> | Sat Oct 25 13:48:56 2014 +0200| [e7513e1286ca1b747485f950b0e1c93612b6736c] | committer: Michael Niedermayer
avformat: Read errno before av_log() as the callback from av_log() might affect errno Signed-off-by: Michael Niedermayer <michae...@gmx.at> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e7513e1286ca1b747485f950b0e1c93612b6736c --- libavformat/libsmbclient.c | 15 ++++++++++----- libavformat/smoothstreamingenc.c | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/libavformat/libsmbclient.c b/libavformat/libsmbclient.c index 892d2db..8290d75 100644 --- a/libavformat/libsmbclient.c +++ b/libavformat/libsmbclient.c @@ -50,12 +50,14 @@ static av_cold int libsmbc_connect(URLContext *h) libsmbc->ctx = smbc_new_context(); if (!libsmbc->ctx) { + int ret = AVERROR(errno); av_log(h, AV_LOG_ERROR, "Cannot create context: %s.\n", strerror(errno)); - return AVERROR(errno); + return ret; } if (!smbc_init_context(libsmbc->ctx)) { + int ret = AVERROR(errno); av_log(h, AV_LOG_ERROR, "Cannot initialize context: %s.\n", strerror(errno)); - return AVERROR(errno); + return ret; } smbc_set_context(libsmbc->ctx); @@ -68,8 +70,9 @@ static av_cold int libsmbc_connect(URLContext *h) smbc_setWorkgroup(libsmbc->ctx, libsmbc->workgroup); if (smbc_init(NULL, 0) < 0) { + int ret = AVERROR(errno); av_log(h, AV_LOG_ERROR, "Initialization failed: %s\n", strerror(errno)); - return AVERROR(errno); + return ret; } return 0; } @@ -157,8 +160,9 @@ static int libsmbc_read(URLContext *h, unsigned char *buf, int size) int bytes_read; if ((bytes_read = smbc_read(libsmbc->fd, buf, size)) < 0) { + int ret = AVERROR(errno); av_log(h, AV_LOG_ERROR, "Read error: %s\n", strerror(errno)); - return AVERROR(errno); + return ret; } return bytes_read; @@ -170,8 +174,9 @@ static int libsmbc_write(URLContext *h, const unsigned char *buf, int size) int bytes_written; if ((bytes_written = smbc_write(libsmbc->fd, buf, size)) < 0) { + int ret = AVERROR(errno); av_log(h, AV_LOG_ERROR, "Write error: %s\n", strerror(errno)); - return AVERROR(errno); + return ret; } return bytes_written; diff --git a/libavformat/smoothstreamingenc.c b/libavformat/smoothstreamingenc.c index 51a8f6f..d6cdf90 100644 --- a/libavformat/smoothstreamingenc.c +++ b/libavformat/smoothstreamingenc.c @@ -293,8 +293,8 @@ static int ism_write_header(AVFormatContext *s) AVOutputFormat *oformat; if (mkdir(s->filename, 0777) == -1 && errno != EEXIST) { - av_log(s, AV_LOG_ERROR, "mkdir failed\n"); ret = AVERROR(errno); + av_log(s, AV_LOG_ERROR, "mkdir failed\n"); goto fail; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog