diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-06-01 19:56:44 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-06-01 19:56:44 +0000 |
commit | 4939caa691ee0e53a95cb3231984f09c06002e40 (patch) | |
tree | c911e4b3b246a6490a0947716ca8ec3065773f89 /libass/ass.c | |
parent | cc5ea363f8ee21648f822d5ac8238f97c271e0a0 (diff) | |
download | mpv-4939caa691ee0e53a95cb3231984f09c06002e40.tar.bz2 mpv-4939caa691ee0e53a95cb3231984f09c06002e40.tar.xz |
Move code for reading a file and recoding it to utf-8 to a separate function.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23442 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass.c')
-rw-r--r-- | libass/ass.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/libass/ass.c b/libass/ass.c index e030a6c2b4..95d935ce7f 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -982,17 +982,9 @@ ass_track_t* ass_read_memory(ass_library_t* library, char* buf, size_t bufsize, return track; } -/** - * \brief Read subtitles from file. - * \param library libass library object - * \param fname file name - * \param codepage recode buffer contents from given codepage - * \return newly allocated track -*/ -ass_track_t* ass_read_file(ass_library_t* library, char* fname, char* codepage) +char* read_file_recode(char* fname, char* codepage, int* size) { char* buf; - ass_track_t* track; size_t bufsize; buf = read_file(fname, &bufsize); @@ -1007,6 +999,26 @@ ass_track_t* ass_read_file(ass_library_t* library, char* fname, char* codepage) if (!buf) return 0; #endif + *size = bufsize; + return buf; +} + +/** + * \brief Read subtitles from file. + * \param library libass library object + * \param fname file name + * \param codepage recode buffer contents from given codepage + * \return newly allocated track +*/ +ass_track_t* ass_read_file(ass_library_t* library, char* fname, char* codepage) +{ + char* buf; + ass_track_t* track; + size_t bufsize; + + buf = read_file_recode(fname, codepage, &bufsize); + if (!buf) + return 0; track = parse_memory(library, buf); free(buf); if (!track) |