class: ExternalLong
comment/format in: #documentation
changed:
#new
#unprotectedNew
#value
64bit fixes (odbc was broken)
--- a/ExternalLong.st Fri Mar 29 07:52:39 2013 +0100
+++ b/ExternalLong.st Fri Mar 29 10:02:34 2013 +0100
@@ -36,7 +36,10 @@
documentation
"
- mostly added for odbc
+ mostly added for odbc, which uses instances of me as container in which values
+ (pointers) are returned. The name is misleading: it should be ExternalPointer,
+ because on machines where sizeof(long) !!= sizeof(void *), that makes a difference.
+ However, over time, others started to use this class, and renaming it would break some code.
"
! !
@@ -58,7 +61,7 @@
MANUALLY freed (see #free) or the returned externalBytes object
is unprotected or the classes releaseAllMemory method is called."
- ^ super new:4
+ ^ super new:(ExternalAddress pointerSize)
"
ExternalLong new
@@ -78,7 +81,7 @@
If the memory has been passed to a C-function which
remembers this pointer, bad things may happen ...."
- ^ super unprotectedNew:4
+ ^ super unprotectedNew:(ExternalAddress pointerSize)
"
ExternalLong new
@@ -152,7 +155,7 @@
!
value
- ^ self doubleWordAt:1
+ ^ self pointerAt:1
"
ExternalLong new value:10
@@ -176,9 +179,10 @@
!ExternalLong class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/ExternalLong.st,v 1.10 2011-01-05 15:08:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/ExternalLong.st,v 1.11 2013-03-29 09:02:34 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic2/ExternalLong.st,v 1.10 2011-01-05 15:08:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/ExternalLong.st,v 1.11 2013-03-29 09:02:34 cg Exp $'
! !
+