fit all data from the container string, and allow NULL as a string also to
simply skip the string altogether.
patch by Ronald S. Bultje, rsbultje gmail com
Originally committed as revision 9817 to svn://svn.ffmpeg.org/ffmpeg/trunk
static void get_str(ByteIOContext *pb, char *buf, int buf_size)
{
int len, i;
- char *q;
+ char *q, r;
len = get_be16(pb);
q = buf;
for(i=0;i<len;i++) {
+ r = get_byte(pb);
if (i < buf_size - 1)
- *q++ = get_byte(pb);
+ *q++ = r;
}
- *q = '\0';
+ if (buf_size > 0) *q = '\0';
}
static void get_str8(ByteIOContext *pb, char *buf, int buf_size)
{
int len, i;
- char *q;
+ char *q, r;
len = get_byte(pb);
q = buf;
for(i=0;i<len;i++) {
+ r = get_byte(pb);
if (i < buf_size - 1)
- *q++ = get_byte(pb);
+ *q++ = r;
}
- *q = '\0';
+ if (buf_size > 0) *q = '\0';
}
static int rm_read_audio_stream_info(AVFormatContext *s, AVStream *st,