diff Python/marshal.c @ 13674:c90d94d287d7 legacy-trunk

Included assert.h in Python.h -- it's absurd that this basic tool of good C practice hasn't been available to everything all along. Added Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) macro to pyport.h; this just casts VALUE from type WIDE to type NARROW, but assert-fails if Py_DEBUG is defined and info is lost due to casting. Replaced a line in Fredrik's fix to marshal.c to use the new macro.
author Tim Peters <tim.peters@gmail.com>
date Sun, 23 Jul 2000 19:28:35 +0000
parents bfc5b2a8c11f
children 6f6f965c5e2d
line wrap: on
line diff
--- a/Python/marshal.c	Sun Jul 23 18:33:52 2000 +0000
+++ b/Python/marshal.c	Sun Jul 23 19:28:35 2000 +0000
@@ -69,7 +69,7 @@
 		p->ptr = PyString_AS_STRING((PyStringObject *)p->str) + size;
 		p->end =
 			PyString_AS_STRING((PyStringObject *)p->str) + newsize;
-		*p->ptr++ = (char) c;
+		*p->ptr++ = Py_SAFE_DOWNCAST(c, int, char);
 	}
 }