Todo list fix: .blend backup files are recognized as such now;
authorTon Roosendaal <ton@blender.org>
Sat, 29 Jan 2011 17:47:22 +0000 (17:47 +0000)
committerTon Roosendaal <ton@blender.org>
Sat, 29 Jan 2011 17:47:22 +0000 (17:47 +0000)
for drop inside Blender window and icons. (.blend1, .blend2, etc).

source/blender/blenlib/intern/path_util.c
source/blender/blenloader/intern/readfile.c

index 0e46a9d..f449c2b 100644 (file)
@@ -1315,6 +1315,7 @@ void BLI_make_file_string(const char *relabase, char *string,  const char *dir,
        BLI_clean(string);
 }
 
+/* if ext is .blend*, it doesn't compare last char */
 int BLI_testextensie(const char *str, const char *ext)
 {
        short a, b;
@@ -1325,10 +1326,12 @@ int BLI_testextensie(const char *str, const char *ext)
 
        if(a==0 || b==0 || b>=a) {
                retval = 0;
-       } else if (BLI_strcasecmp(ext, str + a - b)) {
-               retval = 0;     
-       } else {
-               retval = 1;
+       } 
+       else {
+               if(ext[b-1]=='*')
+                       retval= 0==BLI_strncasecmp(ext, str + a - b, b-1);
+               else
+                       retval= 0==BLI_strcasecmp(ext, str + a - b);
        }
 
        return (retval);
index 7723063..cbf3fd5 100644 (file)
@@ -1039,7 +1039,7 @@ void blo_freefiledata(FileData *fd)
 
 int BLO_has_bfile_extension(char *str)
 {
-       return (BLI_testextensie(str, ".ble") || BLI_testextensie(str, ".blend")||BLI_testextensie(str, ".blend.gz"));
+       return (BLI_testextensie(str, ".ble") || BLI_testextensie(str, ".blend*")||BLI_testextensie(str, ".blend.gz"));
 }
 
 int BLO_is_a_library(const char *path, char *dir, char *group)