Export media_cas_packager_sdk
This commit is contained in:
63
common/file_util.cc
Normal file
63
common/file_util.cc
Normal file
@@ -0,0 +1,63 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright 2016 Google LLC.
|
||||
//
|
||||
// This software is licensed under the terms defined in the Widevine Master
|
||||
// License Agreement. For a copy of this agreement, please contact
|
||||
// widevine-licensing@google.com.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "common/file_util.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "glog/logging.h"
|
||||
|
||||
namespace widevine {
|
||||
|
||||
bool GetContents(const std::string& file_name, std::string* contents) {
|
||||
if (file_name.empty()) {
|
||||
LOG(WARNING) << "File name is empty.";
|
||||
return false;
|
||||
}
|
||||
FILE* file = fopen(file_name.c_str(), "r");
|
||||
if (!file) {
|
||||
LOG(WARNING) << "Unable to open file " << file_name;
|
||||
return false;
|
||||
}
|
||||
contents->clear();
|
||||
const size_t kReadSize = 0x1000;
|
||||
char buffer[kReadSize];
|
||||
while (true) {
|
||||
size_t size_read = fread(buffer, sizeof(char), kReadSize, file);
|
||||
if (size_read == 0) break;
|
||||
contents->append(buffer, size_read);
|
||||
}
|
||||
const bool eof = feof(file);
|
||||
fclose(file);
|
||||
if (!eof) {
|
||||
LOG(WARNING) << "Failed to read all file contents.";
|
||||
return false;
|
||||
}
|
||||
return true;;
|
||||
}
|
||||
|
||||
bool SetContents(const std::string& file_name, const std::string& contents) {
|
||||
if (file_name.empty()) {
|
||||
LOG(WARNING) << "File name is empty.";
|
||||
return false;
|
||||
}
|
||||
FILE* file = fopen(file_name.c_str(), "w");
|
||||
if (!file) {
|
||||
LOG(WARNING) << "Unable to open file " << file_name;
|
||||
return false;
|
||||
}
|
||||
const size_t size_written =
|
||||
fwrite(contents.data(), sizeof(char), contents.size(), file);
|
||||
if (size_written != contents.size())
|
||||
LOG(WARNING) << "Failed to write to " << file_name;
|
||||
fclose(file);
|
||||
return size_written == contents.size();
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
Reference in New Issue
Block a user