avio: fix pointer type mismatches in avio_enum_protocols()
authorMans Rullgard <mans@mansr.com>
Fri, 26 Oct 2012 17:42:29 +0000 (18:42 +0100)
committerMans Rullgard <mans@mansr.com>
Sat, 27 Oct 2012 12:43:44 +0000 (13:43 +0100)
Signed-off-by: Mans Rullgard <mans@mansr.com>
libavformat/avio.c

index 45ee866..a43b241 100644 (file)
@@ -85,11 +85,11 @@ const AVClass ffurl_context_class = {
 
 const char *avio_enum_protocols(void **opaque, int output)
 {
 
 const char *avio_enum_protocols(void **opaque, int output)
 {
-    URLProtocol **p = opaque;
-    *p = ffurl_protocol_next(*p);
-    if (!*p) return NULL;
-    if ((output && (*p)->url_write) || (!output && (*p)->url_read))
-        return (*p)->name;
+    URLProtocol *p;
+    *opaque = ffurl_protocol_next(*opaque);
+    if (!(p = *opaque)) return NULL;
+    if ((output && p->url_write) || (!output && p->url_read))
+        return p->name;
     return avio_enum_protocols(opaque, output);
 }
 
     return avio_enum_protocols(opaque, output);
 }