[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34481] trunk/blender/source: fix [#25778] Memoryblock Data from SCR: end corrupt

Campbell Barton ideasman42 at gmail.com
Tue Jan 25 02:51:29 CET 2011


Revision: 34481
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34481
Author:   campbellbarton
Date:     2011-01-25 01:51:28 +0000 (Tue, 25 Jan 2011)
Log Message:
-----------
fix [#25778] Memoryblock Data from SCR: end corrupt
 + other minor changes.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/blenloader/intern/writefile.c
    trunk/blender/source/blender/python/intern/bpy_rna.c
    trunk/blender/source/tests/pep8.py

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2011-01-24 18:21:55 UTC (rev 34480)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2011-01-25 01:51:28 UTC (rev 34481)
@@ -5279,7 +5279,11 @@
 				for(cl= sconsole->history.first; cl; cl= cl_next) {
 					cl_next= cl->next;
 					cl->line= newdataadr(fd, cl->line);
-					if (cl->line == NULL) {
+					if (cl->line) {
+						/* the allocted length is not written, so reset here */
+						cl->len_alloc= cl->len + 1;
+					}
+					else {
 						BLI_remlink(&sconsole->history, cl);
 						MEM_freeN(cl);
 					}

Modified: trunk/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/writefile.c	2011-01-24 18:21:55 UTC (rev 34480)
+++ trunk/blender/source/blender/blenloader/intern/writefile.c	2011-01-25 01:51:28 UTC (rev 34481)
@@ -2139,6 +2139,7 @@
 					ConsoleLine *cl;
 
 					for (cl=con->history.first; cl; cl=cl->next) {
+						/* 'len_alloc' is invalid on write, set from 'len' on read */
 						writestruct(wd, DATA, "ConsoleLine", 1, cl);
 						writedata(wd, DATA, cl->len+1, cl->line);
 					}

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2011-01-24 18:21:55 UTC (rev 34480)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2011-01-25 01:51:28 UTC (rev 34481)
@@ -1071,7 +1071,6 @@
 		case PROP_STRING:
 		{
 			const char *param;
-			Py_ssize_t param_size= 0;
 #ifdef USE_STRING_COERCE
 			PyObject *value_coerce= NULL;
 			int subtype= RNA_property_subtype(prop);
@@ -1080,10 +1079,10 @@
 				param= PyC_UnicodeAsByte(value, &value_coerce);
 			}
 			else {
-				param= _PyUnicode_AsStringAndSize(value, &param_size);
+				param= _PyUnicode_AsString(value);
 			}
 #else // USE_STRING_COERCE
-			param= _PyUnicode_AsStringAndSize(value, &param_size);
+			param= _PyUnicode_AsStringSize(value);
 #endif // USE_STRING_COERCE
 
 			if (param==NULL) {

Modified: trunk/blender/source/tests/pep8.py
===================================================================
--- trunk/blender/source/tests/pep8.py	2011-01-24 18:21:55 UTC (rev 34480)
+++ trunk/blender/source/tests/pep8.py	2011-01-25 01:51:28 UTC (rev 34481)
@@ -48,6 +48,8 @@
 
 def is_pep8(path):
     print(path)
+    if open(path, 'rb').read(3) == b'\xef\xbb\xbf':
+        print("\nfile contains BOM, remove first 3 bytes: %r\n" % path)
     f = open(path, 'r', encoding="utf8")
     for i in range(PEP8_SEEK_COMMENT):
         line = f.readline()




More information about the Bf-blender-cvs mailing list