[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