Mercurial > cpython-lru_cache-weakref
diff Modules/arraymodule.c @ 41359:f764a7552162 legacy-trunk
SF #1693079: Cannot save empty array in shelve
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Mon, 02 Apr 2007 17:29:30 +0000 |
| parents | 77e0f4718a7c |
| children | 4a03860ae08b |
line wrap: on
line diff
--- a/Modules/arraymodule.c Sun Apr 01 23:31:30 2007 +0000 +++ b/Modules/arraymodule.c Mon Apr 02 17:29:30 2007 +0000 @@ -1147,12 +1147,19 @@ dict = Py_None; Py_INCREF(dict); } - result = Py_BuildValue("O(cs#)O", - array->ob_type, - array->ob_descr->typecode, - array->ob_item, - array->ob_size * array->ob_descr->itemsize, - dict); + if (array->ob_size > 0) { + result = Py_BuildValue("O(cs#)O", + array->ob_type, + array->ob_descr->typecode, + array->ob_item, + array->ob_size * array->ob_descr->itemsize, + dict); + } else { + result = Py_BuildValue("O(c)O", + array->ob_type, + array->ob_descr->typecode, + dict); + } Py_DECREF(dict); return result; }
