Index: trunk/python/pydds.c
===================================================================
--- trunk.orig/python/pydds.c	2007-01-19 00:56:59.997057440 +0100
+++ trunk/python/pydds.c	2007-01-19 00:57:09.336637608 +0100
@@ -207,11 +207,12 @@ deal_str(PyObject *self)
 static PyObject*
 deal_solve(PyObject *self, PyObject *args, PyObject *kwds)
 {
-    static char* nams[] = {"trump", "first", NULL};
-    int trump=4, first=1;
+    static char* nams[] = {"trump", "first", "target", "solutions", "mode", NULL};
+    int trump=4, first=1, target=-1, solutions=1, mode=0;
     int i, j;
 
-    if(!PyArg_ParseTupleAndKeywords(args, kwds, "|ii", nams, &trump, &first))
+    if(!PyArg_ParseTupleAndKeywords(args, kwds, "|iiiii", nams,
+            &trump, &first, &target, &solutions, &mode))
         return 0;
     deal_cell* me = (deal_cell*)self;
     struct deal d;
@@ -225,7 +226,7 @@ deal_solve(PyObject *self, PyObject *arg
     showdist(d.remainCards);
 // printf(" 4"); fflush(0);
     struct futureTricks futp;
-    int status = SolveBoard(d, -1, 1, 0, &futp);
+    int status = SolveBoard(d, target, solutions, mode, &futp);
 // printf(" 5 %d", status); fflush(0);
     if (status!=1) {
         char buf[80];
