diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-25 11:01:02 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-25 11:01:02 +0200 |
commit | 996ef390c247f3b20a21fa5b4e7f6bd48f25d799 (patch) | |
tree | e92b67faad12b3700b8f10e7fae90524ee37f87b | |
parent | 76aa8a27f85fdea83da02e04659028b98e76407e (diff) |
MLKRoot: Fix some cases of lossage introduced by patch 76aa8a27f85fdea83da02e04659028b98e76407e.
-rw-r--r-- | MLKRoot.m | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -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); |