aboutsummaryrefslogtreecommitdiff
path: root/asm/base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'asm/base.cpp')
-rw-r--r--asm/base.cpp32
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;
+}