diff -r 0c0dac5e7c60 Python/getargs.c --- a/Python/getargs.c Fri Aug 01 20:38:32 2008 +0200 +++ b/Python/getargs.c Fri Aug 01 20:42:27 2008 +0200 @@ -1224,16 +1224,19 @@ convertsimple(PyObject *arg, const char if ((*pb->bf_getsegcount)(arg, NULL) != 1) return converterr("single-segment read-write buffer", arg, msgbuf, bufsize); - if ((count = pb->bf_getwritebuffer(arg, 0, res)) < 0) + if ((count = pb->bf_getwritebuffer(arg, 0, &res)) < 0) return converterr("(unspecified)", arg, msgbuf, bufsize); if (*format == '*') { PyBuffer_FillInfo((Py_buffer*)p, arg, res, count, 1, 0); format++; } - else if (*format == '#') { - FETCH_SIZE; - STORE_SIZE(count); - format++; + else { + *p = res; + if (*format == '#') { + FETCH_SIZE; + STORE_SIZE(count); + format++; + } } break; }