[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55042] trunk/blender/source/blender: patch [#34103] path_util_split_dirstring.patch, path_util_split_dirstring_2.patch, path_util_split_dirstring_3.patch

Campbell Barton ideasman42 at gmail.com
Tue Mar 5 07:26:10 CET 2013


Revision: 55042
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55042
Author:   campbellbarton
Date:     2013-03-05 06:26:10 +0000 (Tue, 05 Mar 2013)
Log Message:
-----------
patch [#34103] path_util_split_dirstring.patch, path_util_split_dirstring_2.patch, path_util_split_dirstring_3.patch
from Lawrence D'Oliveiro (ldo)

Get rid of BLI_splitdirstring, replace with calls to BLI_split_dirfile, BLI_split_dir_part and BLI_split_file_part as appropriate.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/font.c
    trunk/blender/source/blender/blenkernel/intern/packedFile.c
    trunk/blender/source/blender/blenkernel/intern/texture.c
    trunk/blender/source/blender/blenlib/BLI_path_util.h
    trunk/blender/source/blender/blenlib/intern/fileops.c
    trunk/blender/source/blender/blenlib/intern/path_util.c
    trunk/blender/source/blender/blenlib/intern/storage.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/physics/physics_fluid.c
    trunk/blender/source/blender/editors/space_buttons/buttons_ops.c
    trunk/blender/source/blender/editors/space_image/image_ops.c
    trunk/blender/source/blender/editors/util/ed_util.c
    trunk/blender/source/blender/imbuf/intern/indexer.c
    trunk/blender/source/blender/render/intern/source/render_result.c

Modified: trunk/blender/source/blender/blenkernel/intern/font.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/font.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenkernel/intern/font.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -195,11 +195,7 @@
 		is_builtin = TRUE;
 	}
 	else {
-		char dir[FILE_MAXDIR];
-		
-		BLI_strncpy(dir, name, sizeof(dir));
-		BLI_splitdirstring(dir, filename);
-
+		BLI_split_file_part(name, filename, sizeof(filename));
 		pf = newPackedFile(NULL, name, bmain->name);
 		temp_pf = newPackedFile(NULL, name, bmain->name);
 		

Modified: trunk/blender/source/blender/blenkernel/intern/packedFile.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/packedFile.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenkernel/intern/packedFile.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -488,11 +488,8 @@
 	int ret_value = RET_ERROR;
 	
 	if (vfont != NULL) {
-		BLI_strncpy(localname, vfont->name, sizeof(localname));
-		BLI_splitdirstring(localname, fi);
-		
+		BLI_split_file_part(vfont->name, fi, sizeof(fi));
 		BLI_snprintf(localname, sizeof(localname), "//fonts/%s", fi);
-		
 		newname = unpackFile(reports, vfont->name, localname, vfont->packedfile, how);
 		if (newname != NULL) {
 			ret_value = RET_OK;
@@ -513,10 +510,8 @@
 	int ret_value = RET_ERROR;
 
 	if (sound != NULL) {
-		BLI_strncpy(localname, sound->name, sizeof(localname));
-		BLI_splitdirstring(localname, fi);
+		BLI_split_file_part(sound->name, fi, sizeof(fi));
 		BLI_snprintf(localname, sizeof(localname), "//sounds/%s", fi);
-
 		newname = unpackFile(reports, sound->name, localname, sound->packedfile, how);
 		if (newname != NULL) {
 			BLI_strncpy(sound->name, newname, sizeof(sound->name));
@@ -541,10 +536,8 @@
 	int ret_value = RET_ERROR;
 	
 	if (ima != NULL && ima->name[0]) {
-		BLI_strncpy(localname, ima->name, sizeof(localname));
-		BLI_splitdirstring(localname, fi);
+		BLI_split_file_part(ima->name, fi, sizeof(fi));
 		BLI_snprintf(localname, sizeof(localname), "//textures/%s", fi);
-
 		newname = unpackFile(reports, ima->name, localname, ima->packedfile, how);
 		if (newname != NULL) {
 			ret_value = RET_OK;

Modified: trunk/blender/source/blender/blenkernel/intern/texture.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/texture.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenkernel/intern/texture.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -911,8 +911,7 @@
 		else if (tex->type == TEX_IMAGE) {
 			ima = tex->ima;
 			if (ima) {
-				BLI_strncpy(di, ima->name, sizeof(di));
-				BLI_splitdirstring(di, fi);
+				BLI_split_file_part(ima->name, fi, sizeof(fi));
 				strcpy(di, "I.");
 				strcat(di, fi);
 				new_id(&bmain->tex, (ID *)tex, di);

Modified: trunk/blender/source/blender/blenlib/BLI_path_util.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_path_util.h	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenlib/BLI_path_util.h	2013-03-05 06:26:10 UTC (rev 55042)
@@ -118,7 +118,6 @@
 int BLI_stringdec(const char *string, char *head, char *start, unsigned short *numlen);
 void BLI_stringenc(char *string, const char *head, const char *tail, unsigned short numlen, int pic);
 int BLI_split_name_num(char *left, int *nr, const char *name, char delim);
-void BLI_splitdirstring(char *di, char *fi);
 
 /* make sure path separators conform to system one */
 void BLI_clean(char *path)

Modified: trunk/blender/source/blender/blenlib/intern/fileops.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/fileops.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenlib/intern/fileops.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -176,7 +176,7 @@
 	else {
 		/* file doesn't exist -- check I can create it in parent directory */
 		char parent[FILE_MAX];
-		BLI_split_dirfile(filename, parent, NULL, sizeof parent, 0);
+		BLI_split_dirfile(filename, parent, NULL, sizeof(parent), 0);
 		writable = access(parent, X_OK | W_OK) == 0;
 	}
 	return writable;

Modified: trunk/blender/source/blender/blenlib/intern/path_util.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/path_util.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenlib/intern/path_util.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -867,23 +867,6 @@
 	return wasrelative;
 }
 
-
-/* 'di's filename component is moved into 'fi', di is made a dir path */
-/* FIXME: duplicates functionality of BLI_split_dirfile. */
-void BLI_splitdirstring(char *di, char *fi)
-{
-	char *lslash = (char *)BLI_last_slash(di);
-
-	if (lslash) {
-		BLI_strncpy(fi, lslash + 1, FILE_MAXFILE);
-		*(lslash + 1) = 0;
-	}
-	else {
-		BLI_strncpy(fi, di, FILE_MAXFILE);
-		di[0] = 0;
-	}
-}
-
 /**
  * Copies into *last the part of *dir following the second-last slash.
  */
@@ -1433,15 +1416,12 @@
  */
 void BLI_make_existing_file(const char *name)
 {
-	char di[FILE_MAX], fi[FILE_MAXFILE];
+	char di[FILE_MAX];
 	BLI_strncpy(di, name, sizeof(di));
-	/* FIXME: use BLI_split_dir_part instead and get rid of fi. */
-	BLI_splitdirstring(di, fi);
-	
-	/* test exist */
-	if (BLI_exists(di) == 0) {
-		BLI_dir_create_recursive(di);
-	}
+	BLI_split_dir_part(name, di, sizeof(di));
+
+	/* make if if the dir doesn't exist */
+	BLI_dir_create_recursive(di);
 }
 
 /**

Modified: trunk/blender/source/blender/blenlib/intern/storage.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/storage.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenlib/intern/storage.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -272,7 +272,7 @@
 					memset(file, 0, sizeof(struct direntry));
 					file->relname = dlink->name;
 					file->path = BLI_strdupcat(dirname, dlink->name);
-					BLI_join_dirfile(fullname, sizeof fullname, dirname, dlink->name);
+					BLI_join_dirfile(fullname, sizeof(fullname), dirname, dlink->name);
 // use 64 bit file size, only needed for WIN32 and WIN64. 
 // Excluding other than current MSVC compiler until able to test
 #ifdef WIN32

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -493,16 +493,6 @@
 		split_libdata(lbarray[i], main->next);
 }
 
-/* removes things like /blah/blah/../../blah/ etc, then writes in *name the full path */
-static void cleanup_path(const char *relabase, char *name)
-{
-	char filename[FILE_MAXFILE];
-	
-	BLI_splitdirstring(name, filename);
-	BLI_cleanup_dir(relabase, name);
-	strcat(name, filename);
-}
-
 static void read_file_version(FileData *fd, Main *main)
 {
 	BHead *bhead;
@@ -531,7 +521,7 @@
 	char name1[FILE_MAX];
 	
 	BLI_strncpy(name1, filepath, sizeof(name1));
-	cleanup_path(relabase, name1);
+	BLI_cleanup_path(relabase, name1);
 	
 //	printf("blo_find_main: relabase  %s\n", relabase);
 //	printf("blo_find_main: original in  %s\n", filepath);
@@ -6256,7 +6246,7 @@
 	}
 	/* make sure we have full path in lib->filepath */
 	BLI_strncpy(lib->filepath, lib->name, sizeof(lib->name));
-	cleanup_path(fd->relabase, lib->filepath);
+	BLI_cleanup_path(fd->relabase, lib->filepath);
 	
 //	printf("direct_link_library: name %s\n", lib->name);
 //	printf("direct_link_library: filepath %s\n", lib->filepath);
@@ -10440,7 +10430,7 @@
 							if (scanf("%s", newlib_path) > 0) {
 								BLI_strncpy(mainptr->curlib->name, newlib_path, sizeof(mainptr->curlib->name));
 								BLI_strncpy(mainptr->curlib->filepath, newlib_path, sizeof(mainptr->curlib->filepath));
-								cleanup_path(G.main->name, mainptr->curlib->filepath);
+								BLI_cleanup_path(G.main->name, mainptr->curlib->filepath);
 								
 								fd = blo_openblenderfile(mainptr->curlib->filepath, basefd->reports);
 

Modified: trunk/blender/source/blender/editors/physics/physics_fluid.c
===================================================================
--- trunk/blender/source/blender/editors/physics/physics_fluid.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/editors/physics/physics_fluid.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -683,14 +683,11 @@
 	}
 	
 	if (targetDir[0] == '\0' || (!dirExist)) {
-		char blendDir[FILE_MAX];
 		char blendFile[FILE_MAX];
 		
 		// invalid dir, reset to current/previous
-		BLI_strncpy(blendDir, G.main->name, FILE_MAX);
-		BLI_splitdirstring(blendDir, blendFile);
+		BLI_split_file_part(G.main->name, blendFile, sizeof(blendFile));
 		BLI_replace_extension(blendFile, FILE_MAX, ""); /* strip .blend */
-
 		BLI_snprintf(newSurfdataPath, FILE_MAX, "//fluidsimdata/%s_%s_", blendFile, fsDomain->id.name);
 		
 		BLI_snprintf(debugStrBuffer, 256, "fluidsimBake::error - warning resetting output dir to '%s'\n", newSurfdataPath);

Modified: trunk/blender/source/blender/editors/space_buttons/buttons_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/buttons_ops.c	2013-03-05 04:35:14 UTC (rev 55041)
+++ trunk/blender/source/blender/editors/space_buttons/buttons_ops.c	2013-03-05 06:26:10 UTC (rev 55042)
@@ -113,7 +113,6 @@
 
 	/* add slash for directories, important for some properties */
 	if (RNA_property_subtype(fbo->prop) == PROP_DIRPATH) {
-		char name[FILE_MAX];
 		int is_relative = RNA_boolean_get(op->ptr, "relative_path");
 		id = fbo->ptr.id.data;
 
@@ -132,8 +131,10 @@
 			}
 			BLI_add_slash(str);
 		}
-		else
-			BLI_splitdirstring(str, name);
+		else {
+			char * const lslash = (char *)BLI_last_slash(str);
+			if (lslash) lslash[1] = '\0';
+		}
 	}
 
 	RNA_property_string_set(&fbo->ptr, fbo->prop, str);

Modified: trunk/blender/source/blender/editors/space_image/image_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_ops.c	2013-03-05 04:35:14 UTC (rev 55041)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list