#include "webvtt/vttreader.h"
namespace libwebvtt {
VttReader::VttReader() : file_(NULL) {}
VttReader::~VttReader() { Close(); }
int VttReader::Open(const char* filename) {
if (filename == NULL || file_ != NULL)
return -1;
file_ = fopen(filename, "rb");
if (file_ == NULL)
return -1;
return 0; }
void VttReader::Close() {
if (file_) {
fclose(file_);
file_ = NULL;
}
}
int VttReader::GetChar(char* c) {
if (c == NULL || file_ == NULL)
return -1;
const int result = fgetc(file_);
if (result != EOF) {
*c = static_cast<char>(result);
return 0; }
if (ferror(file_))
return -1;
if (feof(file_))
return 1;
return -1; }
}