[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29953] trunk/blender/source/blender: better errors for failier to read blends

Campbell Barton ideasman42 at gmail.com
Mon Jul 5 01:26:56 CEST 2010


Revision: 29953
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29953
Author:   campbellbarton
Date:     2010-07-05 01:26:55 +0200 (Mon, 05 Jul 2010)

Log Message:
-----------
better errors for failier to read blends

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/group.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c

Modified: trunk/blender/source/blender/blenkernel/intern/group.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/group.c	2010-07-04 23:08:37 UTC (rev 29952)
+++ trunk/blender/source/blender/blenkernel/intern/group.c	2010-07-04 23:26:55 UTC (rev 29953)
@@ -280,6 +280,7 @@
 	return 0;
 }
 
+#if 0 // add back when timeoffset & animsys work again
 /* only replaces object strips or action when parent nla instructs it */
 /* keep checking nla.c though, in case internal structure of strip changes */
 static void group_replaces_nla(Object *parent, Object *target, char mode)
@@ -319,6 +320,7 @@
 		}
 	}
 }
+#endif
 
 /* puts all group members in local timing system, after this call
 you can draw everything, leaves tags in objects to signal it needs further updating */

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-07-04 23:08:37 UTC (rev 29952)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-07-04 23:26:55 UTC (rev 29953)
@@ -959,11 +959,11 @@
 FileData *blo_openblenderfile(char *name, ReportList *reports)
 {
 	gzFile gzfile;
-	
+	errno= 0;
 	gzfile= gzopen(name, "rb");
 
 	if (gzfile == Z_NULL) {
-		BKE_report(reports, RPT_ERROR, "Unable to open");
+		BKE_reportf(reports, RPT_ERROR, "Unable to open \"%s\": %s.", name, errno ? strerror(errno) : "Unknown erro reading file");
 		return NULL;
 	} else {
 		FileData *fd = filedata_new();
@@ -996,7 +996,7 @@
 FileData *blo_openblendermemfile(MemFile *memfile, ReportList *reports)
 {
 	if (!memfile) {
-		BKE_report(reports, RPT_ERROR, "Unable to open");
+		BKE_report(reports, RPT_ERROR, "Unable to open blend <memory>");
 		return NULL;
 	} else {
 		FileData *fd= filedata_new();

Modified: trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c
===================================================================
--- trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c	2010-07-04 23:08:37 UTC (rev 29952)
+++ trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c	2010-07-04 23:26:55 UTC (rev 29953)
@@ -36,6 +36,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <fcntl.h>
+#include <errno.h>
 
 #ifdef WIN32
 #include <io.h>		// read, open
@@ -136,7 +137,7 @@
 
 	fd= open(path, O_BINARY|O_RDONLY, 0);
 	if (fd==-1) {
-		BKE_report(reports, RPT_ERROR, "Unable to open");
+		BKE_reportf(reports, RPT_ERROR, "Unable to open \"%s\": %s.", path, strerror(errno));
 		goto cleanup;
 	}
 	
@@ -146,13 +147,13 @@
 
 	datastart= handle_read_msb_int(fd);
 	if (datastart==-1) {
-		BKE_report(reports, RPT_ERROR, "Unable to read");
+		BKE_reportf(reports, RPT_ERROR, "Unable to read  \"%s\" (problem seeking)", path);
 		goto cleanup;
 	} else if (read(fd, buf, 8)!=8) {
-		BKE_report(reports, RPT_ERROR, "Unable to read");
+		BKE_reportf(reports, RPT_ERROR, "Unable to read  \"%s\" (truncated header)", path);
 		goto cleanup;
 	} else if (memcmp(buf, "BRUNTIME", 8)!=0) {
-		BKE_report(reports, RPT_ERROR, "File is not a Blender file");
+		BKE_reportf(reports, RPT_ERROR, "Unable to read  \"%s\" (not a blend file)", path);
 		goto cleanup;
 	} else {	
 		//printf("starting to read runtime from %s at datastart %d\n", path, datastart);





More information about the Bf-blender-cvs mailing list