makes the filename member of the URLContext a pointer, so that the

structure can be extended in the future without breaking ABI.
patch by Ronald S. Bultje % rbultje A ronald P bitfreak P net %
Original thread:
Date: Jan 1, 2007 6:01 PM
Subject: [Ffmpeg-devel] make URLContext->filename a pointer

Originally committed as revision 7506 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ronald S. Bultje 2007-01-14 22:07:19 +00:00 committed by Guillaume Poirier
parent fb2b4fc50a
commit 621810045c
2 changed files with 8 additions and 1 deletions

View File

@ -70,11 +70,14 @@ int url_open(URLContext **puc, const char *filename, int flags)
err = -ENOENT; err = -ENOENT;
goto fail; goto fail;
found: found:
uc = av_malloc(sizeof(URLContext) + strlen(filename)); uc = av_malloc(sizeof(URLContext) + strlen(filename) + 1);
if (!uc) { if (!uc) {
err = -ENOMEM; err = -ENOMEM;
goto fail; goto fail;
} }
#if LIBAVFORMAT_VERSION_INT >= (52<<16)
uc->filename = (char *) &uc[1];
#endif
strcpy(uc->filename, filename); strcpy(uc->filename, filename);
uc->prot = up; uc->prot = up;
uc->flags = flags; uc->flags = flags;

View File

@ -33,7 +33,11 @@ struct URLContext {
int is_streamed; /* true if streamed (no seek possible), default = false */ int is_streamed; /* true if streamed (no seek possible), default = false */
int max_packet_size; /* if non zero, the stream is packetized with this max packet size */ int max_packet_size; /* if non zero, the stream is packetized with this max packet size */
void *priv_data; void *priv_data;
#if LIBAVFORMAT_VERSION_INT >= (52<<16)
char *filename; /* specified filename */
#else
char filename[1]; /* specified filename */ char filename[1]; /* specified filename */
#endif
}; };
typedef struct URLContext URLContext; typedef struct URLContext URLContext;