chiark
/
gitweb
/
~mdw
/
catacomb-python
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0463996
)
key_qtag fixing.
author
mdw
<mdw>
Tue, 27 Sep 2005 11:27:14 +0000
(11:27 +0000)
committer
mdw
<mdw>
Tue, 27 Sep 2005 11:27:14 +0000
(11:27 +0000)
key.c
patch
|
blob
|
blame
|
history
diff --git
a/key.c
b/key.c
index 9de143ec190fb9a4c338ec88f20d0f41c7f50ba0..38d3024aa9b214cba6c9e3d056837d543656c9ee 100644
(file)
--- a/
key.c
+++ b/
key.c
@@
-1894,10
+1894,9
@@
end:
static PyObject *kfmeth_qtag(PyObject *me, PyObject *arg, PyObject *kw)
{
key *k;
static PyObject *kfmeth_qtag(PyObject *me, PyObject *arg, PyObject *kw)
{
key *k;
- key_data **kd;
+ key_data **kd
, *okd
;
PyObject *newkdobj = 0;
char *tag;
PyObject *newkdobj = 0;
char *tag;
- PyObject *kdobj;
dstr d = DSTR_INIT;
PyObject *rc = 0;
static char *kwlist[] = { "tag", "new", 0 };
dstr d = DSTR_INIT;
PyObject *rc = 0;
static char *kwlist[] = { "tag", "new", 0 };
@@
-1907,16
+1906,18
@@
static PyObject *kfmeth_qtag(PyObject *me, PyObject *arg, PyObject *kw)
goto end;
if (key_qtag(KEYFILE_KF(me), tag, &d, &k, &kd))
KEYERR(KERR_NOTFOUND);
goto end;
if (key_qtag(KEYFILE_KF(me), tag, &d, &k, &kd))
KEYERR(KERR_NOTFOUND);
- key_incref(*kd);
- kdobj = keydata_pywrap(*kd);
+ okd = *kd;
if (newkdobj) {
if (!(KEYFILE_KF(me)->f & KF_WRITE))
KEYERR(KERR_READONLY);
if (newkdobj) {
if (!(KEYFILE_KF(me)->f & KF_WRITE))
KEYERR(KERR_READONLY);
-
key_drop(*kd)
;
+
KEYFILE_KF(me)->f |= KF_MODIFIED
;
*kd = KEYDATA_KD(newkdobj);
*kd = KEYDATA_KD(newkdobj);
- key_incref(*kd);
}
}
- rc = Py_BuildValue("(s#NN)", d.buf, d.len, key_pywrap(me, k), kdobj);
+ key_incref(*kd);
+ rc = Py_BuildValue("(s#NN)",
+ d.buf, d.len,
+ key_pywrap(me, k),
+ keydata_pywrap(okd));
end:
return (rc);
}
end:
return (rc);
}