[vlc-commits] config: file: Remove useless copy

Hugo Beauzée-Luyssen git at videolan.org
Fri Dec 18 11:45:44 UTC 2020


vlc | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Thu Dec 17 17:47:58 2020 +0100| [695d579e115c95bf914d17b4b5fbc299cd05b109] | committer: Hugo Beauzée-Luyssen

config: file: Remove useless copy

The folder is always owned by the caller, so we can modify it directly
and save a copy per folder level

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=695d579e115c95bf914d17b4b5fbc299cd05b109
---

 src/config/file.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/config/file.c b/src/config/file.c
index 35cd1e4dfe..10f8973f0c 100644
--- a/src/config/file.c
+++ b/src/config/file.c
@@ -267,7 +267,7 @@ int config_LoadConfigFile( vlc_object_t *p_this )
 /*****************************************************************************
  * config_CreateDir: Create configuration directory if it doesn't exist.
  *****************************************************************************/
-static int config_CreateDir( vlc_object_t *p_this, const char *psz_dirname )
+static int config_CreateDir( vlc_object_t *p_this, char *psz_dirname )
 {
     if( !psz_dirname || !*psz_dirname ) return -1;
 
@@ -282,14 +282,13 @@ static int config_CreateDir( vlc_object_t *p_this, const char *psz_dirname )
         case ENOENT:
         {
             /* Let's try to create the parent directory */
-            char psz_parent[strlen( psz_dirname ) + 1], *psz_end;
-            strcpy( psz_parent, psz_dirname );
-
-            psz_end = strrchr( psz_parent, DIR_SEP_CHAR );
-            if( psz_end && psz_end != psz_parent )
+            char *psz_end = strrchr( psz_dirname, DIR_SEP_CHAR );
+            if( psz_end && psz_end != psz_dirname )
             {
                 *psz_end = '\0';
-                if( config_CreateDir( p_this, psz_parent ) == 0 )
+                int res = config_CreateDir( p_this, psz_dirname );
+                *psz_end = DIR_SEP_CHAR;
+                if( res == 0 )
                 {
                     if( !vlc_mkdir( psz_dirname, 0700 ) )
                         return 0;



More information about the vlc-commits mailing list