X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffilexml.C;fp=cinelerra-5.1%2Fcinelerra%2Ffilexml.C;h=9c99d3f8364b262c318cb5980a77b09889b69ede;hb=8de624882f93013542044d4ad39c3f6e2f77d752;hp=aef297e41adf822d9c697cda88a7cdb05130dbe0;hpb=5087af31b39efcae59f7bad38708ebf12f53dc12;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/filexml.C b/cinelerra-5.1/cinelerra/filexml.C index aef297e4..9c99d3f8 100644 --- a/cinelerra-5.1/cinelerra/filexml.C +++ b/cinelerra-5.1/cinelerra/filexml.C @@ -489,7 +489,7 @@ int FileXML::skip_tag() return 1; } -int FileXML::read_data_until(const char *tag_end, char *out, int len) +int FileXML::read_data_until(const char *tag_end, char *out, int len, int skip) { long ipos = buffer->itell(); int opos = 0, pos = -1; @@ -518,15 +518,15 @@ int FileXML::read_data_until(const char *tag_end, char *out, int len) ++pos; } // if end tag is reached, pos is left on the < of the end tag - if( pos >= 0 && !tag_end[pos] ) + if( !skip && pos >= 0 && !tag_end[pos] && !skip ) buffer->iseek(ipos); return opos; } -int FileXML::read_text_until(const char *tag_end, char *out, int len) +int FileXML::read_text_until(const char *tag_end, char *out, int len, int skip) { char data[len+1]; - int opos = read_data_until(tag_end, data, len); + int opos = read_data_until(tag_end, data, len, skip); decode(out, data, opos); return 0; }