sqInt sqFileSync(SQFile *f) { /* * sqFileFlush uses FlushFileBuffers which is equivalent to fsync on windows * as long as WriteFile is used directly and no other buffering is done. */ return sqFileFlush(f); }
EXPORT(sqInt) primitiveFileFlush(void) { SQFile * file; sqInt objectPointer; /* begin fileValueOf: */ objectPointer = interpreterProxy->stackValue(0); if (!((interpreterProxy->isBytes(objectPointer)) && ((interpreterProxy->byteSizeOf(objectPointer)) == (fileRecordSize())))) { interpreterProxy->primitiveFail(); file = null; goto l1; } file = interpreterProxy->firstIndexableField(objectPointer); l1: /* end fileValueOf: */; if (!(interpreterProxy->failed())) { sqFileFlush(file); } if (!(interpreterProxy->failed())) { interpreterProxy->pop(1); } }
primitiveFileFlush(void) { // FilePlugin>>#primitiveFileFlush SQFile *file; sqInt objectPointer; /* begin fileValueOf: */ objectPointer = stackValue(0); if (!((isBytes(objectPointer)) && ((byteSizeOf(objectPointer)) == (sizeof(SQFile))))) { primitiveFail(); file = null; goto l1; } file = firstIndexableField(objectPointer); l1: /* end fileValueOf: */; if (!(failed())) { sqFileFlush(file); } if (!(failed())) { pop(1); } }