url: add ffurl_closep() which also sets the context pointer to NULL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-06-01 14:47:30 +02:00
parent f89aa6751c
commit edf96d631c
2 changed files with 11 additions and 3 deletions

View File

@ -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;

View File

@ -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);
/**