[Vm-dev] VM Maker: VMMaker.oscog-VB.2382.mcz

commits at source.squeak.org commits at source.squeak.org
Thu May 10 22:59:39 UTC 2018


VincentBlondeau uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-VB.2382.mcz

==================== Summary ====================

Name: VMMaker.oscog-VB.2382
Author: VB
Time: 10 May 2018, 3:58:47.518905 pm
UUID: da8a5d36-0cd4-b641-865f-a139b3914245
Ancestors: VMMaker.oscog-eem.2381

change the primitive to return the file descriptor type instead of just 0 or 1

=============== Diff against VMMaker.oscog-eem.2381 ===============

Item was added:
+ ----- Method: FilePlugin>>primitiveFileDescriptorType (in category 'file primitives') -----
+ primitiveFileDescriptorType
+ 	| fileType fd fdPointer |
+ 	"Allow to test if the standard input/output files are from a console or not
+ 	Return values:
+ 	* -1 - Error
+ 	* 0 - no console (windows only)
+ 	* 1 - normal terminal (unix terminal / windows console)
+ 	* 2 - pipe
+ 	* 3 - file
+ 	* 4 - cygwin terminal (windows only)"
+ 	<var: 'fd' type: #int>
+ 	<export: true>
+ 	fdPointer := interpreterProxy stackValue: 0.
+ 	(interpreterProxy isIntegerObject: fdPointer)
+ 		ifFalse: [^ interpreterProxy primitiveFailFor: PrimErrBadArgument].
+ 	fd := interpreterProxy integerValueOf: fdPointer.
+ 	interpreterProxy failed ifTrue: [
+ 		"Ensure that the appropriate failure code has been set"
+ 		^interpreterProxy primitiveFailFor: PrimErrBadArgument].
+ 	fileType := self
+ 				cCode: 'sqFileDescriptorType(fd)'
+ 				inSmalltalk: [1].
+ 	interpreterProxy pop: 2.
+ 	interpreterProxy pushInteger: fileType!

Item was removed:
- ----- Method: FilePlugin>>primitiveIsFileDescriptorATTY (in category 'file primitives') -----
- primitiveIsFileDescriptorATTY
- 	| isStdoutRedirected fd fdPointer |
- 	<var: 'fd' type: #int>
- 	<export: true>
- 	fdPointer := interpreterProxy stackValue: 0.
- 	(interpreterProxy isIntegerObject: fdPointer)
- 		ifFalse: [^ interpreterProxy primitiveFailFor: PrimErrBadArgument].
- 	fd := interpreterProxy integerValueOf: fdPointer.
- 	interpreterProxy failed ifTrue: [
- 		"Ensure that the appropriate failure code has been set"
- 		^interpreterProxy primitiveFailFor: PrimErrBadArgument].
- 	isStdoutRedirected := self
- 				cCode: 'sqIsFileDescriptorATTY(fd) '
- 				inSmalltalk: [true].
- 	interpreterProxy pop: 2.
- 	interpreterProxy pushBool: isStdoutRedirected!



More information about the Vm-dev mailing list