--- a/ExternalFunctionCallback.st Sat Aug 13 06:52:18 2016 +0200
+++ b/ExternalFunctionCallback.st Tue Aug 23 09:54:28 2016 +0100
@@ -159,16 +159,15 @@
return;
}
+ if (@global(ExternalFunctionCallback:Verbose) == true) {
+ fprintf(stderr, "ExternalFunctionCallback(wrapper): sending value: to %"_lx_"..\n", (INT)st_callBack);
+ }
{
- static struct inlineCache value_snd = _DUMMYILC1;
-
- if (@global(ExternalFunctionCallback:Verbose) == true) {
- fprintf(stderr, "ExternalFunctionCallback(wrapper): sending value: to %"_lx_"..\n", (INT)st_callBack);
- }
+ static struct inlineCache value_snd = __DUMMYILC1((@line+1));
st_result = _SEND1(st_callBack, @symbol(callFromCWith:), nil, &value_snd, st_argVector);
- if (@global(ExternalFunctionCallback:Verbose) == true) {
- fprintf(stderr, "ExternalFunctionCallback(wrapper): result is %"_lx_"\n", (INT)st_result);
- }
+ }
+ if (@global(ExternalFunctionCallback:Verbose) == true) {
+ fprintf(stderr, "ExternalFunctionCallback(wrapper): result is %"_lx_"\n", (INT)st_result);
}
retType = cif->rtype;
@@ -279,13 +278,13 @@
and handed out to C. (you can also hand out the callBack directly - as it is a subclass of
ExternalBytes.
The actual action of the callback can be changed (at any time later) with:
- cb action:[:args | Transcript showCR:args. true].
+ cb action:[:args | Transcript showCR:args. true].
Eventually, the callback MUST be released:
- cb release.
+ cb release.
[author:]
- Claus Gittinger
+ Claus Gittinger
"
!