fix for uninitialized value in BLI_path_cwd() if PWD wasn't defined and the CWD was...
[blender.git] / source / blender / blenlib / intern / storage.c
index e407df7..eaa312b 100644 (file)
@@ -89,6 +89,7 @@
 
 #include "BLI_listbase.h"
 #include "BLI_linklist.h"
+#include "BLI_storage.h"
 #include "BLI_storage_types.h"
 #include "BLI_string.h"
 
@@ -103,20 +104,15 @@ static struct ListBase dirbase_={
 static struct ListBase *dirbase = &dirbase_;
 
 
-char *BLI_getwdN(char *dir)
+char *BLI_getwdN(char *dir, const int maxncpy)
 {
-       char *pwd;
-
-       if (dir) {
-               pwd = getenv("PWD");
-               if (pwd){
-                       strcpy(dir, pwd);
-                       return(dir);
-               }
-               /* 160 is FILE_MAXDIR in filesel.c */
-               return( getcwd(dir, 160) );
+       const char *pwd= getenv("PWD");
+       if (pwd){
+               BLI_strncpy(dir, pwd, maxncpy);
+               return dir;
        }
-       return(0);
+
+       return getcwd(dir, maxncpy);
 }
 
 
@@ -477,7 +473,7 @@ int BLI_is_dir(const char *file) {
        return S_ISDIR(BLI_exist(file));
 }
 
-LinkNode *BLI_read_file_as_lines(char *name)
+LinkNode *BLI_read_file_as_lines(const char *name)
 {
        FILE *fp= fopen(name, "r");
        LinkNode *lines= NULL;