chiark
/
gitweb
/
~mdw
/
catacomb-python
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
key: Make KeyFiles iterate over their keyids, not their keys.
[catacomb-python]
/
buffer.c
diff --git
a/buffer.c
b/buffer.c
index 8e4ece55ffda821835914e8d071e59cd74b18d45..7220d8401264da718ad93b379229bb2ff3aa964f 100644
(file)
--- a/
buffer.c
+++ b/
buffer.c
@@
-83,7
+83,7
@@
static int rbuf_pysegcount(PyObject *me, int *nn)
{ if (nn) *nn = BSZ(BUF_B(me)); return (1); }
static int rbuf_pyreadbuf(PyObject *me, int seg, void **q)
{ if (nn) *nn = BSZ(BUF_B(me)); return (1); }
static int rbuf_pyreadbuf(PyObject *me, int seg, void **q)
- { assert(seg == 0); *q = B
BASE(BUF_B(me)); return (BSZ
(BUF_B(me))); }
+ { assert(seg == 0); *q = B
CUR(BUF_B(me)); return (BLEFT
(BUF_B(me))); }
static PyObject *rbmeth_skip(PyObject *me, PyObject *arg)
{
static PyObject *rbmeth_skip(PyObject *me, PyObject *arg)
{
@@
-114,7
+114,7
@@
end:
uint##n x; \
if (!PyArg_ParseTuple(arg, ":getu" #w)) goto end; \
if (buf_getu##w(BUF_B(me), &x)) BUFERR(); \
uint##n x; \
if (!PyArg_ParseTuple(arg, ":getu" #w)) goto end; \
if (buf_getu##w(BUF_B(me), &x)) BUFERR(); \
- return (getu
32(x));
\
+ return (getu
long(x));
\
end: \
return (0); \
}
end: \
return (0); \
}
@@
-236,6
+236,7
@@
static PyObject *rbget_offset(PyObject *me, void *hunoz)
static int rbset_offset(PyObject *me, PyObject *x, void *hunoz)
{
size_t n;
static int rbset_offset(PyObject *me, PyObject *x, void *hunoz)
{
size_t n;
+ if (!x) NIERR("__del__");
if (!convszt(x, &n)) goto end;
if (n > BSZ(BUF_B(me))) VALERR("out of range");
BCUR(BUF_B(me)) = BBASE(BUF_B(me)) + n;
if (!convszt(x, &n)) goto end;
if (n > BSZ(BUF_B(me))) VALERR("out of range");
BCUR(BUF_B(me)) = BBASE(BUF_B(me)) + n;