diff options
author | Arystanbek Dyussenov <arystan.d@gmail.com> | 2009-08-05 11:59:49 +0400 |
---|---|---|
committer | Arystanbek Dyussenov <arystan.d@gmail.com> | 2009-08-05 11:59:49 +0400 |
commit | 7586990ace3a988e720397f47bf95b7bc9d7124b (patch) | |
tree | e4d9d76f6638ad489b18785cec1db49c0ff3ba85 /source | |
parent | 2065c5cf605ea6147cb4097cf4aca7ac003a1ba1 (diff) |
- modified BKE_get_image_export_path so that it writes relative path if src file = dest file returning 2 in this case
- modified unit tests for ^ firstly
- incorporated Image.get_export_path into FBX exporter script
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/image.c | 12 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_image_api.c | 5 | ||||
-rw-r--r-- | source/creator/tests/alltest.c | 12 |
3 files changed, 17 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index b66213ffbc2..4a355640d8b 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -2206,12 +2206,6 @@ int BKE_get_image_export_path(struct Image *im, const char *dest_dir, char *abs, BLI_join_dirfile(dest_path, dest_dir, base); } - /* only return 1 if paths differ */ - if (!strcmp(path, dest_path)) { - if (G.f & G_DEBUG) printf("%s and %s are the same file\n", path, dest_path); - return 0; - } - if (abs) BLI_strncpy(abs, dest_path, abs_size); @@ -2220,5 +2214,11 @@ int BKE_get_image_export_path(struct Image *im, const char *dest_dir, char *abs, strncat(rel, base, rel_size); } + /* return 2 if src=dest */ + if (!strcmp(path, dest_path)) { + if (G.f & G_DEBUG) printf("%s and %s are the same file\n", path, dest_path); + return 2; + } + return 1; } diff --git a/source/blender/makesrna/intern/rna_image_api.c b/source/blender/makesrna/intern/rna_image_api.c index 20770ef2957..af059b435b3 100644 --- a/source/blender/makesrna/intern/rna_image_api.c +++ b/source/blender/makesrna/intern/rna_image_api.c @@ -41,6 +41,11 @@ #include "BKE_utildefines.h" #include "BKE_image.h" +/* + User should check if returned path exists before copying a file there. + + TODO: it would be better to return a (abs, rel) tuple. +*/ static char *rna_Image_get_export_path(Image *image, char *dest_dir, int rel) { int length = FILE_MAX; diff --git a/source/creator/tests/alltest.c b/source/creator/tests/alltest.c index 99e0d2f5b26..89a58a08dfd 100644 --- a/source/creator/tests/alltest.c +++ b/source/creator/tests/alltest.c @@ -60,19 +60,19 @@ START_TEST(test_copy_images) {"//image.png", {{"/home/user/image.png", "image.png", 1}, {"/home/user/image.png", "image.png", 1}, {"/home/user/export/image.png", "image.png", 1}, - {"", "", 0},}}, + {"/home/user/foo/image.png", "image.png", 2},}}, /* relative, 1 level deep */ {"//bar/image.png", {{"/home/user/bar/image.png", "bar/image.png", 1}, {"/home/user/bar/image.png", "bar/image.png", 1}, {"/home/user/export/bar/image.png", "bar/image.png", 1}, - {"", "", 0},}}, + {"/home/user/foo/bar/image.png", "bar/image.png", 2},}}, /* relative, 2 level deep */ {"//bar/foo/image.png", {{"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, {"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, {"/home/user/export/bar/foo/image.png", "bar/foo/image.png", 1}, - {"", "", 0},}}, + {"/home/user/foo/bar/foo/image.png", "bar/foo/image.png", 2},}}, /* absolute, not under .blend dir */ {"/home/user/bar/image.png", {{"/home/user/image.png", "image.png", 1}, @@ -84,19 +84,19 @@ START_TEST(test_copy_images) {"/home/user/foo/image.png", {{"/home/user/image.png", "image.png", 1}, {"/home/user/image.png", "image.png", 1}, {"/home/user/export/image.png", "image.png", 1}, - {"", "", 0},}}, + {"/home/user/foo/image.png", "image.png", 2},}}, /* absolute, under .blend dir, 1 level deep */ {"/home/user/foo/bar/image.png", {{"/home/user/bar/image.png", "bar/image.png", 1}, {"/home/user/bar/image.png", "bar/image.png", 1}, {"/home/user/export/bar/image.png", "bar/image.png", 1}, - {"", "", 0},}}, + {"/home/user/foo/bar/image.png", "bar/image.png", 2},}}, /* absolute, under .blend dir, 2 level deep */ {"/home/user/foo/bar/foo/image.png", {{"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, {"/home/user/bar/foo/image.png", "bar/foo/image.png", 1}, {"/home/user/export/bar/foo/image.png", "bar/foo/image.png", 1}, - {"", "", 0},}}, + {"/home/user/foo/bar/foo/image.png", "bar/foo/image.png", 2},}}, /* empty image path, don't let these pass! */ {"", {{"", 0}, |