diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2024-04-15 04:53:42 +0630 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2024-04-15 04:55:51 +0630 |
commit | f661438c93806e42cfbbbd39d79c77924a4a5a16 (patch) | |
tree | f6fcbc9542822528b83f7e16b41cc58fe9ea9bfc /asm/base.cpp | |
parent | 0385d4bb8dafe6c4968fcc83888b5dd3e18e861f (diff) | |
download | ovm-f661438c93806e42cfbbbd39d79c77924a4a5a16.tar.gz ovm-f661438c93806e42cfbbbd39d79c77924a4a5a16.tar.bz2 ovm-f661438c93806e42cfbbbd39d79c77924a4a5a16.zip |
Moved read_file to a general base library
Diffstat (limited to 'asm/base.cpp')
-rw-r--r-- | asm/base.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/asm/base.cpp b/asm/base.cpp new file mode 100644 index 0000000..d2812f1 --- /dev/null +++ b/asm/base.cpp @@ -0,0 +1,32 @@ +/* Copyright (C) 2024 Aryadev Chavali + + * You may distribute and modify this code under the terms of the GPLv2 + * license. You should have received a copy of the GPLv2 license with + * this file. If not, please write to: aryadev@aryadevchavali.com. + + * Created: 2024-04-14 + * Author: Aryadev Chavali + * Description: + */ + +#include "./base.hpp" + +#include <cstdio> + +std::optional<std::string> read_file(const char *filename) +{ + FILE *fp = fopen(filename, "rb"); + if (fp) + { + std::string contents; + fseek(fp, 0, SEEK_END); + contents.resize(ftell(fp)); + rewind(fp); + fread(&contents[0], 1, contents.size(), fp); + fclose(fp); + + return contents; + } + else + return std::nullopt; +} |