EXPORT(sqInt) primitiveFileOpen(void) { sqInt nameSize; sqInt filePointer; sqInt namePointer; char * nameIndex; sqInt writeFlag; writeFlag = interpreterProxy->booleanValueOf(interpreterProxy->stackValue(0)); namePointer = interpreterProxy->stackValue(1); if (!(interpreterProxy->isBytes(namePointer))) { return interpreterProxy->primitiveFail(); } nameIndex = interpreterProxy->firstIndexableField(namePointer); nameSize = interpreterProxy->byteSizeOf(namePointer); filePointer = fileOpenNamesizewritesecure(nameIndex, nameSize, writeFlag, 1); if (!(interpreterProxy->failed())) { interpreterProxy->popthenPush(3, filePointer); } }
primitiveFileOpen(void) { // FilePlugin>>#primitiveFileOpen sqInt filePointer; char *nameIndex; sqInt namePointer; sqInt nameSize; sqInt writeFlag; writeFlag = booleanValueOf(stackValue(0)); namePointer = stackValue(1); if (!(isBytes(namePointer))) { return primitiveFail(); } nameIndex = firstIndexableField(namePointer); nameSize = byteSizeOf(namePointer); filePointer = fileOpenNamesizewritesecure(nameIndex, nameSize, writeFlag, 1); if (!(failed())) { popthenPush(3, filePointer); } }