diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-06-01 14:47:30 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-06-01 14:47:30 +0200 |
commit | edf96d631c000d1810be42649891bfddb9754427 (patch) | |
tree | e11061b73e6a7b8fd034c296b0e10c47a14d5d9c | |
parent | f89aa6751c0b4c2ff391c34f585d9ea920858adb (diff) | |
download | ffmpeg-edf96d631c000d1810be42649891bfddb9754427.tar.gz |
url: add ffurl_closep() which also sets the context pointer to NULL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/avio.c | 11 | ||||
-rw-r--r-- | libavformat/url.h | 3 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c index 5a1c79ec8e..8b7e495e55 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -315,8 +315,9 @@ int64_t ffurl_seek(URLContext *h, int64_t pos, int whence) return ret; } -int ffurl_close(URLContext *h) +int ffurl_closep(URLContext **hh) { + URLContext *h= *hh; int ret = 0; if (!h) return 0; /* can happen when ffurl_open fails */ @@ -331,10 +332,16 @@ int ffurl_close(URLContext *h) av_opt_free(h->priv_data); av_freep(&h->priv_data); } - av_free(h); + av_freep(hh); return ret; } +int ffurl_close(URLContext *h) +{ + return ffurl_closep(&h); +} + + int avio_check(const char *url, int flags) { URLContext *h; diff --git a/libavformat/url.h b/libavformat/url.h index 6ad754e19f..82f42e8c59 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -179,11 +179,12 @@ int64_t ffurl_seek(URLContext *h, int64_t pos, int whence); /** * Close the resource accessed by the URLContext h, and free the - * memory used by it. + * memory used by it. Also set the URLContext pointer to NULL. * * @return a negative value if an error condition occurred, 0 * otherwise */ +int ffurl_closep(URLContext **h); int ffurl_close(URLContext *h); /** |