mirror of
				https://github.com/libretro/Lakka-LibreELEC.git
				synced 2025-11-04 04:28:54 +00:00 
			
		
		
		
	* Update UCM, Add initial LibreELEC build changes, Add alsastate save/restore, remove old ffmpeg from switch builds * Add mount to switch build for cheats * Add support for nvmpi to new ffmpeg * L4T/Switch: use Python3 * L4T: use upstream openssh package * openssh: add Switch specific patch for keydir * project/device options cleanup, typos, other fixes * moonlight: move the core to lakka packages, build for other targets * rearange a few patches * L4T: use upstream xorg-server package * L4T: use upstream libglvnd package * L4T: use upstream mesa package * L4T: use upstream util-linux package * Remove xpadneo from L4T builds Co-authored-by: Tomáš Kelemen (vudiq) <vudiq@vudiq.sk>
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff --git a/rewrite.c b/rewrite.c
 | 
						|
index acdc2f9..2c10f5f 100644
 | 
						|
--- a/rewrite.c
 | 
						|
+++ b/rewrite.c
 | 
						|
@@ -531,8 +531,20 @@ char *rewrite(const char *path) {
 | 
						|
     struct rewrite_rule *rule;
 | 
						|
     char *caller = NULL;
 | 
						|
     
 | 
						|
+    char *newpath = strdup(path);
 | 
						|
+    
 | 
						|
+    char *ch = newpath;
 | 
						|
+    while (*ch != '\0')
 | 
						|
+    {
 | 
						|
+        if (*ch == ':')
 | 
						|
+                *ch = '-';
 | 
						|
+        ch++;
 | 
						|
+    }
 | 
						|
+    
 | 
						|
     int res;
 | 
						|
     
 | 
						|
+    path = newpath;
 | 
						|
+    
 | 
						|
     DEBUG(3, "%s:\n", path);
 | 
						|
     
 | 
						|
     for(ctx = config.contexts; ctx != NULL; ctx = ctx->next) {
 | 
						|
@@ -568,5 +580,7 @@ char *rewrite(const char *path) {
 | 
						|
     }
 | 
						|
     
 | 
						|
     free(caller);
 | 
						|
-    return apply_rule(path, NULL);
 | 
						|
+    char* result = apply_rule(path, NULL);
 | 
						|
+    free(newpath);
 | 
						|
+    return result;
 | 
						|
 }
 | 
						|
diff --git a/rewritefs.c b/rewritefs.c
 | 
						|
index 736513d..30dd71f 100644
 | 
						|
--- a/rewritefs.c
 | 
						|
+++ b/rewritefs.c
 | 
						|
@@ -164,8 +164,25 @@ static int rewrite_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
 | 
						|
         st.st_ino = d->entry->d_ino;
 | 
						|
         st.st_mode = d->entry->d_type << 12;
 | 
						|
         RLOCK(nextoff = telldir(d->dp));
 | 
						|
-        if (filler(buf, d->entry->d_name, &st, nextoff))
 | 
						|
-            break;
 | 
						|
+        char *newname = strdup(d->entry->d_name);
 | 
						|
+        char *ch = newname;
 | 
						|
+            while (*ch != '\0')
 | 
						|
+            {
 | 
						|
+                if (*ch == '-')
 | 
						|
+                        *ch = ':';
 | 
						|
+                ch++;
 | 
						|
+            }
 | 
						|
+        if (filler(buf, newname, &st, nextoff))
 | 
						|
+        {
 | 
						|
+                free(newname);
 | 
						|
+                   break;
 | 
						|
+        }
 | 
						|
+        else
 | 
						|
+        {
 | 
						|
+                free(newname);
 | 
						|
+                break;
 | 
						|
+        }
 | 
						|
+         
 | 
						|
 
 | 
						|
         d->entry = NULL;
 | 
						|
         d->offset = nextoff;
 |