Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updated spec files for the new library version.
[doldaconnect.git]
/
lib
/
python
/
dolmod.c
diff --git
a/lib/python/dolmod.c
b/lib/python/dolmod.c
index
71623a6
..
c8df522
100644
(file)
--- a/
lib/python/dolmod.c
+++ b/
lib/python/dolmod.c
@@
-1,6
+1,6
@@
/*
* Dolda Connect - Modular multiuser Direct Connect-style client
/*
* Dolda Connect - Modular multiuser Direct Connect-style client
- * Copyright (C) 2004 Fredrik Tolf
(fredrik@dolda2000.com)
+ * Copyright (C) 2004 Fredrik Tolf
<fredrik@dolda2000.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-90,6
+90,9
@@
static PyObject *resp_intresp(struct respobj *self)
case 3:
PyList_SetItem(sl, i, PyFloat_FromDouble(ires->argv[i].val.flnum));
break;
case 3:
PyList_SetItem(sl, i, PyFloat_FromDouble(ires->argv[i].val.flnum));
break;
+ case 4:
+ PyList_SetItem(sl, i, PyLong_FromLongLong(ires->argv[i].val.lnum));
+ break;
}
}
dc_freeires(ires);
}
}
dc_freeires(ires);
@@
-189,11
+192,11
@@
static PyObject *mod_select(PyObject *self, PyObject *args)
return(NULL);
}
if(((pfd.revents & POLLIN) && dc_handleread()) || ((pfd.revents & POLLOUT) && dc_handlewrite())) {
return(NULL);
}
if(((pfd.revents & POLLIN) && dc_handleread()) || ((pfd.revents & POLLOUT) && dc_handlewrite())) {
- if(errno == 0) {
- fd = -1;
+ fd = -1;
+ if(errno == 0)
Py_RETURN_FALSE;
Py_RETURN_FALSE;
- }
PyErr_SetFromErrno(PyExc_OSError);
PyErr_SetFromErrno(PyExc_OSError);
+ return(NULL);
}
if(ret > 0)
Py_RETURN_TRUE;
}
if(ret > 0)
Py_RETURN_TRUE;
@@
-232,7
+235,7
@@
static int qcmd_cb(struct dc_response *resp)
static PyObject *mod_qcmd(PyObject *self, PyObject *args, PyObject *kwargs)
{
static PyObject *mod_qcmd(PyObject *self, PyObject *args, PyObject *kwargs)
{
- int i
, tag
;
+ int i;
wchar_t **toks, *tok, *cmd;
size_t tokssize, toksdata, toksize;
PyObject *c, *n, *cb, *ret;
wchar_t **toks, *tok, *cmd;
size_t tokssize, toksdata, toksize;
PyObject *c, *n, *cb, *ret;
@@
-267,13
+270,13
@@
static PyObject *mod_qcmd(PyObject *self, PyObject *args, PyObject *kwargs)
if(PyMapping_HasKeyString(kwargs, "cb")) {
cb = PyMapping_GetItemString(kwargs, "cb");
if(PyCallable_Check(cb)) {
if(PyMapping_HasKeyString(kwargs, "cb")) {
cb = PyMapping_GetItemString(kwargs, "cb");
if(PyCallable_Check(cb)) {
- ret = PyInt_FromLong(dc_queuecmd(qcmd_cb, cb, cmd, L"%
%
a", toks, NULL));
+ ret = PyInt_FromLong(dc_queuecmd(qcmd_cb, cb, cmd, L"%a", toks, NULL));
} else {
PyErr_SetString(PyExc_TypeError, "Callback must be callable");
Py_DECREF(cb);
}
} else {
} else {
PyErr_SetString(PyExc_TypeError, "Callback must be callable");
Py_DECREF(cb);
}
} else {
- ret = PyInt_FromLong(dc_queuecmd(NULL, NULL, cmd, L"%
%
a", toks, NULL));
+ ret = PyInt_FromLong(dc_queuecmd(NULL, NULL, cmd, L"%a", toks, NULL));
}
out:
}
out:
@@
-307,6
+310,9
@@
static void login_cb(int err, wchar_t *reason, PyObject *cb)
case DC_LOGIN_ERR_AUTHFAIL:
errstr = "authfail";
break;
case DC_LOGIN_ERR_AUTHFAIL:
errstr = "authfail";
break;
+ default:
+ errstr = "unknown";
+ break;
}
pyerr = PyString_FromString(errstr);
if(reason == NULL)
}
pyerr = PyString_FromString(errstr);
if(reason == NULL)
@@
-402,7
+408,7
@@
static PyObject *mod_checkproto(PyObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "first argument must be a response object");
return(NULL);
}
PyErr_SetString(PyExc_TypeError, "first argument must be a response object");
return(NULL);
}
- resp = tmp;
+ resp =
(struct respobj *)
tmp;
if(dc_checkprotocol(resp->resp, version))
Py_RETURN_FALSE;
else
if(dc_checkprotocol(resp->resp, version))
Py_RETURN_FALSE;
else