From fba4e2466274c0935ebece1b4778f1a133b63dde Mon Sep 17 00:00:00 2001
From: wolfy852 <wolfy852@hotmail.com>
Date: Fri, 22 Jan 2016 00:46:32 -0600
Subject: [PATCH] Call I_mkdir on subdirectories [NEEDS CLEANUP]

I got lazy and used a weird inefficient method, but I don't know how to clean this mess up :c At least it works.
---
 src/blua/liolib.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/blua/liolib.c b/src/blua/liolib.c
index ac168ef180..b209eec91f 100644
--- a/src/blua/liolib.c
+++ b/src/blua/liolib.c
@@ -182,6 +182,22 @@ static int io_open (lua_State *L) {
 		return pushresult(L,0,filename);
 	}
 	I_mkdir("luafiles", 0755);
+	char *splitter = filename; 
+	while ((splitter = strchr(splitter, '/')))
+	{
+		*splitter = 0;
+		I_mkdir(va("luafiles"PATHSEP"%s", filename), 0755); 
+		*splitter = '/'; 
+		splitter++;
+	}
+	char *splitter2 = filename;
+	while ((splitter2 = strchr(splitter2, '\\')))
+	{
+		*splitter2 = 0;
+		I_mkdir(va("luafiles"PATHSEP"%s", filename), 0755); 
+		*splitter2 = '\\'; 
+		splitter2++;
+	}
 	char* destFilename = va("luafiles"PATHSEP"%s", filename);
 	filename = destFilename;
 	const char *mode = luaL_optstring(L, 2, "r");
-- 
GitLab