if (PyObject_SetAttrString(me, "err", x)) goto end;
Py_DECREF(x); x = 0;
- x = PyString_FromString(key_strerror(err)); if (!x) goto end;
+ x = TEXT_FROMSTR(key_strerror(err)); if (!x) goto end;
if (PyObject_SetAttrString(me, "errstring", x)) goto end;
Py_DECREF(x); x = 0;
if (err >= 0 && err < N(tab)) errtag = tab[err];
else errtag = "<unknown>";
if ((x = PyObject_GetAttrString(me, "errstring")) == 0 ||
- (errstr = PyString_AsString(x)) == 0)
+ (errstr = TEXT_STR(x)) == 0)
goto done;
- rc = PyString_FromFormat("%s (%ld): %s", errtag, -err, errstr);
+ rc = TEXT_FORMAT("%s (%ld): %s", errtag, -err, errstr);
done:
Py_XDECREF(x);
int err;
int rc = 0;
- if ((fs = PyString_AsString(x)) != 0) {
+ if ((fs = TEXT_STR(x)) != 0) {
if ((err = key_readflags(fs, &end, &f->f, &f->m)) != 0)
KEYERR(err);
if (*end)
return (1);
else {
PyErr_Clear();
- if ((fs = PyString_AsString(x)) != 0) {
+ if ((fs = TEXT_STR(x)) != 0) {
if ((err = key_readflags(fs, &end, f, 0)) != 0)
KEYERR(err);
if (*end)
if (!PyArg_ParseTuple(arg, "O&:key_writeflags", convuint, &f)) return (0);
key_writeflags(f, &d);
- rc = PyString_FromStringAndSize(d.buf, d.len);
+ rc = TEXT_FROMSTRLEN(d.buf, d.len);
dstr_destroy(&d);
return (rc);
}
convfilter, &f))
return (0);
key_write(KEYDATA_KD(me), &d, &f);
- rc = PyString_FromStringAndSize(d.buf, d.len);
+ rc = TEXT_FROMSTRLEN(d.buf, d.len);
dstr_destroy(&d);
return (rc);
}
}
static PyObject *kdsget_str(PyObject *me, void *hunoz)
- { return (PyString_FromString(KEYDATA_KD(me)->u.p)); }
+ { return (TEXT_FROMSTR(KEYDATA_KD(me)->u.p)); }
static const PyGetSetDef keydatastr_pygetset[] = {
#define GETSETNAME(op, name) kds##op##_##name
key_struct *ks;
assert((kd->e&KF_ENCMASK) == KENC_STRUCT);
- if ((tag = PyString_AsString(k)) == 0) return (0);
+ if ((tag = TEXT_STR(k)) == 0) return (0);
if (f) { key_split(&kd); KEYDATA_KD(me) = kd; }
ks = sym_find(&kd->u.s, tag, -1, f ? sizeof(key_struct) : 0, f);
if (ks && f && !*f) ks->k = 0;
{ return (sym_next(i)); }
static PyObject *keydatastruct_gmentrykey(PyObject *me, void *e)
- { key_struct *ks = e; return (PyString_FromString(SYM_NAME(ks))); }
+ { key_struct *ks = e; return (TEXT_FROMSTR(SYM_NAME(ks))); }
static PyObject *keydatastruct_gmentryvalue(PyObject *me, void *e)
{
if ((it = PyObject_GetIter(sub)) == 0)
goto end;
while ((name = PyIter_Next(it)) != 0) {
- if ((p = PyString_AsString(name)) == 0 ||
+ if ((p = TEXT_STR(name)) == 0 ||
(val = PyObject_GetItem(sub, name)) == 0)
goto end;
if (!KEYDATA_PYCHECK(val))
static void *keyattrs_gmlookup(PyObject *me, PyObject *k, unsigned *f)
{
- char *name = PyString_AsString(k);
+ char *name = TEXT_STR(k);
key_attr *a = 0;
if (!name) goto end;
{ return (sym_next(i)); }
static PyObject *keyattrs_gmentrykey(PyObject *me, void *e)
- { return (PyString_FromString(SYM_NAME(e))); }
+ { return (TEXT_FROMSTR(SYM_NAME(e))); }
static PyObject *keyattrs_gmentryvalue(PyObject *me, void *e)
- { return (PyString_FromString(((key_attr *)e)->p)); }
+ { return (TEXT_FROMSTR(((key_attr *)e)->p)); }
static int keyattrs_gmsetentry(PyObject *me, void *e, PyObject *val)
{
Py_ssize_t n;
int rc = -1;
- if (!PyString_Check(val)) TYERR("expected string");
- p = PyString_AS_STRING(val); n = PyString_GET_SIZE(val);
+ if (!TEXT_CHECK(val)) TYERR("expected string");
+ TEXT_PTRLEN(val, p, n);
if (n > 255) VALERR("attribute too long");
if (memchr(p, 0, n)) VALERR("attribute must not contain nul");
if (a->p) xfree(a->p);
convfilter, &f) ||
(fp = PyFile_AsFile(file)) == 0 ||
(nameobj = PyFile_Name(file)) == 0 ||
- (name = PyString_AsString(nameobj)) == 0)
+ (name = TEXT_STR(nameobj)) == 0)
goto end;
if (key_extract(KEY_KF(me), KEY_K(me), fp, &f))
OSERR(name);
static PyObject *kget_file(PyObject *me, void *hunoz)
{ RETURN_OBJ(KEY_KFOBJ(me)); }
static PyObject *kget_type(PyObject *me, void *hunoz)
- { return (PyString_FromString(KEY_K(me)->type)); }
+ { return (TEXT_FROMSTR(KEY_K(me)->type)); }
static PyObject *kget_exptime(PyObject *me, void *hunoz)
{ return (getulong(KEY_K(me)->exp)); }
static PyObject *kget_deltime(PyObject *me, void *hunoz)
PyObject *rc;
key_fulltag(KEY_K(me), &d);
- rc = PyString_FromStringAndSize(d.buf, d.len);
+ rc = TEXT_FROMSTRLEN(d.buf, d.len);
dstr_destroy(&d);
return (rc);
}
static PyObject *kget_tag(PyObject *me, void *hunoz)
{
if (!KEY_K(me)->tag) RETURN_NONE;
- return (PyString_FromString(KEY_K(me)->tag));
+ return (TEXT_FROMSTR(KEY_K(me)->tag));
}
static int kset_tag(PyObject *me, PyObject *x, void *hunoz)
{
char *tag;
if (!x || x == Py_None) tag = 0;
- else if ((tag = PyString_AsString(x)) == 0) goto end;
+ else if ((tag = TEXT_STR(x)) == 0) goto end;
if ((err = key_settag(KEY_KF(me), KEY_K(me), tag)) != 0) KEYERR(err);
return (0);
end:
static PyObject *kget_comment(PyObject *me, void *hunoz)
{
if (!KEY_K(me)->c) RETURN_NONE;
- return (PyString_FromString(KEY_K(me)->c));
+ return (TEXT_FROMSTR(KEY_K(me)->c));
}
static int kset_comment(PyObject *me, PyObject *x, void *hunoz)
{
char *c;
if (!x || x == Py_None) c = 0;
- else if ((c = PyString_AsString(x)) == 0) goto end;
+ else if ((c = TEXT_STR(x)) == 0) goto end;
if ((err = key_setcomment(KEY_KF(me), KEY_K(me), c)) != 0) KEYERR(err);
return (0);
end:
k = key_byid(KEYFILE_KF(me), id);
else {
PyErr_Clear();
- if ((tag = PyString_AsString(tagobj)) == 0)
+ if ((tag = TEXT_STR(tagobj)) == 0)
goto end;
k = key_bytag(KEYFILE_KF(me), tag);
}
if ((fp = PyFile_AsFile(x)) == 0)
goto end;
x = PyFile_Name(x);
- if ((name = PyString_AsString(x)) == 0)
+ if ((name = TEXT_STR(x)) == 0)
goto end;
rc = key_merge(KEYFILE_KF(me), name, fp, pythonreporter, &ri);
if (ri.stop)
}
static PyObject *kfget_name(PyObject *me, void *hunoz)
- { return (PyString_FromString(KEYFILE_KF(me)->name)); }
+ { return (TEXT_FROMSTR(KEYFILE_KF(me)->name)); }
static PyObject *kfget_modifiedp(PyObject *me, void *hunoz)
{ return (getbool(KEYFILE_KF(me)->f & KF_MODIFIED)); }
static PyObject *kfget_writep(PyObject *me, void *hunoz)