X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2Fdolmod.c;h=c8df522502ed655d07268e1855d4e9d20b5f2208;hb=b23dedf9f35fe5ff61f0f826ed1b2753ad78db2f;hp=36910ec4a2febd2121c5a2e01678487de51a8b90;hpb=071ecf131bff73dd4456e4cc2c775ce7af335289;p=doldaconnect.git diff --git a/lib/python/dolmod.c b/lib/python/dolmod.c index 36910ec..c8df522 100644 --- a/lib/python/dolmod.c +++ b/lib/python/dolmod.c @@ -1,6 +1,6 @@ /* * Dolda Connect - Modular multiuser Direct Connect-style client - * Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com) + * Copyright (C) 2004 Fredrik Tolf * * 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 4: + PyList_SetItem(sl, i, PyLong_FromLongLong(ires->argv[i].val.lnum)); + break; } } 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())) { - if(errno == 0) { - fd = -1; + fd = -1; + if(errno == 0) Py_RETURN_FALSE; - } PyErr_SetFromErrno(PyExc_OSError); + return(NULL); } 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) { - int i, tag; + int i; wchar_t **toks, *tok, *cmd; size_t tokssize, toksdata, toksize; PyObject *c, *n, *cb, *ret; @@ -307,6 +310,9 @@ static void login_cb(int err, wchar_t *reason, PyObject *cb) case DC_LOGIN_ERR_AUTHFAIL: errstr = "authfail"; break; + default: + errstr = "unknown"; + break; } pyerr = PyString_FromString(errstr); if(reason == NULL)