summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-25 11:01:02 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-25 11:01:02 +0200
commit996ef390c247f3b20a21fa5b4e7f6bd48f25d799 (patch)
treee92b67faad12b3700b8f10e7fae90524ee37f87b
parent76aa8a27f85fdea83da02e04659028b98e76407e (diff)
MLKRoot: Fix some cases of lossage introduced by patch 76aa8a27f85fdea83da02e04659028b98e76407e.
-rw-r--r--MLKRoot.m12
1 files changed, 7 insertions, 5 deletions
diff --git a/MLKRoot.m b/MLKRoot.m
index 4f22e17..dd5b22a 100644
--- a/MLKRoot.m
+++ b/MLKRoot.m
@@ -216,25 +216,25 @@ fixnump (id _data, id arg0, id _marker)
static id
add (id _data, MLKNumber *x, MLKNumber *y, id _marker)
{
- return [x add:y];
+ return [nullify(x) add:nullify(y)];
}
static id
subtract (id _data, MLKNumber *x, MLKNumber *y, id _marker)
{
- return [x subtract:y];
+ return [nullify(x) subtract:nullify(y)];
}
static id
multiply (id _data, MLKNumber *x, MLKNumber *y, id _marker)
{
- return [x multiplyWith:y];
+ return [nullify(x) multiplyWith:nullify(y)];
}
static id
divide (id _data, MLKNumber *x, MLKNumber *y, id _marker)
{
- return [x divideBy:y];
+ return [nullify(x) divideBy:nullify(y)];
}
static id
@@ -403,7 +403,7 @@ unexport (id _data, id symbols, id arg, ...)
static id
find_package (id _data, id name, id _marker)
{
- MLKPackage *package = [MLKPackage findPackage:name];
+ MLKPackage *package = [MLKPackage findPackage:stringify(name)];
if (package)
{
@@ -606,6 +606,7 @@ send_by_name (id _data, id object, NSString *methodName, id arg, ...)
[invocation setSelector:selector];
[invocation setTarget:object];
+ i = 2;
va_start (ap, arg);
while (arg != MLKEndOfArgumentsMarker)
{
@@ -623,6 +624,7 @@ send_by_name (id _data, id object, NSString *methodName, id arg, ...)
[invocation setArgument:argbuf atIndex:i];
arg = va_arg (ap, id);
+ i++;
}
va_end (ap);