Stephen Compall wrote:
> wcstok on ##smalltalk asked about a method on gst latest running on
> FreeBSD:
>
> |x y|
> x := CPtrCType elementType: #int.
> y := x new.
> y value
> !
>
> whereas replacing the last statement with "Memory intAt: y address"
> would operate as expected.
>
The reason is that you have to do "CPtrCType elementType: CIntType" instead.
A more complete example could be something like this:
|x y|
x := CPtrCType elementType: CIntType.
y := x new.
y value: (CInt value: 15).
y value printNl. "Print a CInt"
y value value printNl. "Print 15"
y value free. "Free the CInt"
y free "Free y too"!
Remember that CInt is itself a "int *", so "y" is more like a "int **".
While segfaults should be expected when tinkering with CObjects, getting
one for an object of the wrong class is a bit too greedy indeed! That
will be fixed for 2.3, thanks.
Paolo
_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk