Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
doc: Documented X-Ash-Content-Type for sendfile.
[ashd.git]
/
python
/
htp.c
diff --git
a/python/htp.c
b/python/htp.c
index
ec4ebab
..
33c0361
100644
(file)
--- a/
python/htp.c
+++ b/
python/htp.c
@@
-41,7
+41,7
@@
static PyObject *p_recvfd(PyObject *self, PyObject *args)
PyErr_SetFromErrno(PyExc_OSError);
return(NULL);
}
PyErr_SetFromErrno(PyExc_OSError);
return(NULL);
}
- ro = Py_BuildValue("Ni", Py
Bytes
_FromStringAndSize(data, dlen), ret);
+ ro = Py_BuildValue("Ni", Py
String
_FromStringAndSize(data, dlen), ret);
free(data);
return(ro);
}
free(data);
return(ro);
}
@@
-49,14
+49,17
@@
static PyObject *p_recvfd(PyObject *self, PyObject *args)
static PyObject *p_sendfd(PyObject *self, PyObject *args)
{
int sock, fd, ret;
static PyObject *p_sendfd(PyObject *self, PyObject *args)
{
int sock, fd, ret;
- Py
_buffer
data;
+ Py
Object *
data;
- if(!PyArg_ParseTuple(args, "ii
y*
", &sock, &fd, &data))
+ if(!PyArg_ParseTuple(args, "ii
O
", &sock, &fd, &data))
return(NULL);
return(NULL);
+ if(!PyString_Check(data)) {
+ PyErr_SetString(PyExc_TypeError, "datagram must be a string");
+ return(NULL);
+ }
Py_BEGIN_ALLOW_THREADS;
Py_BEGIN_ALLOW_THREADS;
- ret = sendfd(sock, fd,
data.buf, data.len
);
+ ret = sendfd(sock, fd,
PyString_AsString(data), PyString_Size(data)
);
Py_END_ALLOW_THREADS;
Py_END_ALLOW_THREADS;
- PyBuffer_Release(&data);
if(ret < 0) {
PyErr_SetFromErrno(PyExc_OSError);
return(NULL);
if(ret < 0) {
PyErr_SetFromErrno(PyExc_OSError);
return(NULL);
@@
-70,14
+73,7
@@
static PyMethodDef methods[] = {
{NULL, NULL, 0, NULL}
};
{NULL, NULL, 0, NULL}
};
-static struct PyModuleDef module = {
- PyModuleDef_HEAD_INIT,
- .m_name = "htlib",
- .m_size = -1,
- .m_methods = methods,
-};
-
-PyMODINIT_FUNC PyInit_htlib(void)
+PyMODINIT_FUNC inithtlib(void)
{
{
-
return(PyModule_Create(&module)
);
+
Py_InitModule("ashd.htlib", methods
);
}
}