summaryrefslogtreecommitdiffstats
path: root/src/message.c
diff options
context:
space:
mode:
authorDetlev Casanova <detlev.casanova@gmail.com>2010-07-11 18:28:07 +0200
committerDetlev Casanova <detlev.casanova@gmail.com>2010-07-11 18:28:07 +0200
commitfa75018c1432d0aaaf4674b502fe6cafdfd5156c (patch)
tree9eaa84d075157700f563bbcac11637c3e5323fc2 /src/message.c
parent74ee4280886f8adc28b16404c469f63f6aa83e55 (diff)
downloadlayman-fa75018c1432d0aaaf4674b502fe6cafdfd5156c.tar.gz
layman-fa75018c1432d0aaaf4674b502fe6cafdfd5156c.tar.bz2
layman-fa75018c1432d0aaaf4674b502fe6cafdfd5156c.zip
Get the proper layman Python library and fix BareConfig constructor to
take a Message class as first argument.
Diffstat (limited to 'src/message.c')
-rw-r--r--src/message.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/message.c b/src/message.c
index bc0ee56..85a1717 100644
--- a/src/message.c
+++ b/src/message.c
@@ -7,6 +7,11 @@ struct Message
PyObject *object;
};
+/*
+ * TODO: This constructor is too big.
+ * Create a little constructor that uses default values
+ * and add helper functions to set the values
+ */
Message *messageCreate(const char* module,
FILE* out,
FILE* err,
@@ -22,13 +27,12 @@ Message *messageCreate(const char* module,
{
PyObject *pyout, *pyerr, *pydbg, *pymth, *pyobj, *pyvar;
- pyout = PyFile_FromFile((fileno(out) <= 0 ? stdout : out),
- NULL, "w", 0);
- pyerr = PyFile_FromFile((fileno(err) <= 0 ? stderr : err),
- NULL, "w", 0);
- pydbg = PyFile_FromFile((fileno(dbg) <= 0 ? stderr : dbg),
- NULL, "w", 0);
-
+ pyout = PyFile_FromFile(((!out || fileno(out) <= 0) ? stdout : out),
+ "", "w", 0);
+ pyerr = PyFile_FromFile(((!err || fileno(err) <= 0) <= 0 ? stderr : err),
+ "", "w", 0);
+ pydbg = PyFile_FromFile(((!dbg || fileno(dbg) <= 0) ? stderr : dbg),
+ "", "w", 0);
pymth = cListToPyList(mth);
pyobj = cListToPyList(obj);
@@ -67,5 +71,8 @@ Message *messageCreate(const char* module,
PyObject *_messageObject(Message* m)
{
- return m ? m->object : NULL;
+ if (m && m->object)
+ return m->object;
+ else
+ Py_RETURN_NONE;
}