[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