lavf/aviobuf: add ff_get_chomp_line

Same as ff_get_line but strip the white-space characters in the
string tail.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
This commit is contained in:
Jun Zhao 2018-04-09 23:05:42 +08:00 committed by Jun Zhao
parent bc62d20dc4
commit cdd107b965
2 changed files with 18 additions and 0 deletions

View File

@ -823,6 +823,14 @@ int ff_get_line(AVIOContext *s, char *buf, int maxlen)
return i;
}
int ff_get_chomp_line(AVIOContext *s, char *buf, int maxlen)
{
int len = ff_get_line(s, buf, maxlen);
while (len > 0 && av_isspace(buf[len - 1]))
buf[--len] = '\0';
return len;
}
int64_t ff_read_line_to_bprint(AVIOContext *s, AVBPrint *bp)
{
int len, end;

View File

@ -299,6 +299,16 @@ void ff_put_v(AVIOContext *bc, uint64_t val);
*/
int ff_get_line(AVIOContext *s, char *buf, int maxlen);
/**
* Same as ff_get_line but strip the white-space characters in the text tail
*
* @param s the read-only AVIOContext
* @param buf buffer to store the read line
* @param maxlen size of the buffer
* @return the length of the string written in the buffer
*/
int ff_get_chomp_line(AVIOContext *s, char *buf, int maxlen);
/**
* Read a whole line of text from AVIOContext to an AVBPrint buffer. Stop
* reading after reaching a \\r, a \\n, a \\r\\n, a \\0 or EOF. The line