From 5a4c8dc87c9f3d69fc17993b45246822b12fb6e7 Mon Sep 17 00:00:00 2001 From: Inori Date: Wed, 7 Aug 2019 08:42:00 -0400 Subject: [PATCH] Make sure load_data returns a string --- binding/filesystem-binding.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/binding/filesystem-binding.cpp b/binding/filesystem-binding.cpp index 5b779ff4..27bc92d0 100644 --- a/binding/filesystem-binding.cpp +++ b/binding/filesystem-binding.cpp @@ -183,7 +183,12 @@ RB_METHOD(kernelLoadData) rb_str_new2("Graphics")); if (isGraphicsFile == Qtrue) - return rb_file_open_str(filename, "rb"); + { + VALUE f = rb_file_open_str(filename, "rb"); + VALUE ret = rb_funcall(f, rb_intern("read"), 0); + rb_funcall(f, rb_intern("close"), 0); + return ret; + } #endif return kernelLoadDataInt(RSTRING_PTR(filename), true);