[FIX] Mpeg3Plugin (fix to fix)
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Jan 2 06:20:30 UTC 2002
If you squint you can see how some friendly feature removed an
instance var at the last second...
'From Squeak3.2alpha of 1 November 2001 [latest update: #4599] on 1
January 2002 at 10:15:57 pm'!
!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 1/1/2002 22:15'!
primitiveMPEG3CheckSig: path
| result sz storage |
"int mpeg3_check_sig(char *path)"
self var: #storage declareC: 'char storage[1024] '.
self primitive: 'primitiveMPEG3CheckSig'
parameters: #(String).
sz _ interpreterProxy byteSizeOf: path cPtrAsOop.
self cCode: 'sqFilenameFromStringOpen(storage, path, sz)'.
self cCode: 'result = mpeg3_check_sig(storage)'.
^result asOop: Boolean
! !
!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 12/27/2001 15:40'!
primitiveMPEG3Open: path
| mpeg3Oop index sz storage |
"mpeg3_t* mpeg3_open(char *path)"
self var: #index declareC: 'mpeg3_t ** index'.
self var: #storage declareC: 'char storage[1024]'.
self primitive: 'primitiveMPEG3Open'
parameters: #(String).
sz _ interpreterProxy byteSizeOf: path cPtrAsOop.
self cCode: 'sqFilenameFromStringOpen(storage, path, sz)'.
mpeg3Oop _ interpreterProxy instantiateClass:
interpreterProxy classByteArray
indexableSize: 4.
index _ self cCoerce: (interpreterProxy firstIndexableField: mpeg3Oop)
to: 'mpeg3_t **'.
self cCode: '*index = mpeg3_open(storage); makeFileEntry(*index)'.
^mpeg3Oop.
! !
--
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
More information about the Squeak-dev
mailing list
|