EXPORT(sqInt) fileOpenNamesizewritesecure(char * nameIndex, sqInt nameSize, sqInt writeFlag, sqInt secureFlag) { sqInt fileOop; sqInt okToOpen; SQFile * file; fileOop = interpreterProxy->instantiateClassindexableSize(interpreterProxy->classByteArray(), fileRecordSize()); /* begin fileValueOf: */ if (!((interpreterProxy->isBytes(fileOop)) && ((interpreterProxy->byteSizeOf(fileOop)) == (fileRecordSize())))) { interpreterProxy->primitiveFail(); file = null; goto l1; } file = interpreterProxy->firstIndexableField(fileOop); l1: /* end fileValueOf: */; if (!(interpreterProxy->failed())) { if (secureFlag) { if (sCOFfn != 0) { okToOpen = ((sqInt (*) (char *, sqInt, sqInt)) sCOFfn)(nameIndex, nameSize, writeFlag); if (!(okToOpen)) { interpreterProxy->primitiveFail(); } } } } if (!(interpreterProxy->failed())) { sqFileOpen(file, nameIndex, nameSize, writeFlag); } return fileOop; }
fileOpenNamesizewritesecure(char * nameIndex_xxx_dmu, sqInt nameSize, sqInt writeFlag, sqInt secureFlag) { SQFile * file; sqInt fileOop; sqInt okToOpen; char* nameIndex_xxx_dmu1 = malloc(nameSize); memmove(nameIndex_xxx_dmu1, nameIndex_xxx_dmu, nameSize); fileOop = interpreterProxy->instantiateClassindexableSize(interpreterProxy->classByteArray(), sizeof(SQFile)); /* begin fileValueOf: */ if (!((interpreterProxy->isBytes(fileOop)) && ((interpreterProxy->byteSizeOf(fileOop)) == (sizeof(SQFile))))) { interpreterProxy->primitiveFail(); file = null; goto l1; } file = interpreterProxy->arrayValueOf(fileOop); l1: /* end fileValueOf: */; if (!(interpreterProxy->failed())) { if (secureFlag) { if (sCOFfn != 0) { okToOpen = ((sqInt (*) (char *, sqInt, sqInt)) sCOFfn)(nameIndex_xxx_dmu1, nameSize, writeFlag); if (!(okToOpen)) { interpreterProxy->primitiveFail(); } } } } if (!(interpreterProxy->failed())) { sqFileOpen(file, nameIndex_xxx_dmu1, nameSize, writeFlag); } free(nameIndex_xxx_dmu1); return fileOop; }
int dropRequestFileHandle(int dropIndex) { int fileHandle, wasBrowserMode; char *dropName = dropRequestFileName(dropIndex); if(!dropName) return interpreterProxy->nilObject(); fileHandle = instantiateClassindexableSize(classByteArray(), fileRecordSize()); wasBrowserMode = fBrowserMode; fBrowserMode = false; sqFileOpen(fileValueOf(fileHandle),(int)dropName, strlen(dropName), 0); fBrowserMode = wasBrowserMode; return fileHandle; }
int dropRequestFileHandle(int dropIndex) { char *path= dropRequestFileName(dropIndex); if (path) { // you cannot be serious? int handle= instantiateClassindexableSize(classByteArray(), fileRecordSize()); sqFileOpen((SQFile *)fileValueOf(handle), path, strlen(path), 0); return handle; } return interpreterProxy->nilObject(); }
fileOpenNamesizewritesecure(char *nameIndex, sqInt nameSize, sqInt writeFlag, sqInt secureFlag) { // FilePlugin>>#fileOpenName:size:write:secure: SQFile *file; sqInt fileOop; sqInt okToOpen; fileOop = instantiateClassindexableSize(classByteArray(), sizeof(SQFile)); /* begin fileValueOf: */ if (!((isBytes(fileOop)) && ((byteSizeOf(fileOop)) == (sizeof(SQFile))))) { primitiveFail(); file = null; goto l1; } file = firstIndexableField(fileOop); l1: /* end fileValueOf: */; if (!(failed())) { if (secureFlag) { /* If the security plugin can be loaded, use it to check for permission. If not, assume it's ok */ if (sCOFfn != 0) { /* If the security plugin can be loaded, use it to check for permission. If not, assume it's ok */ okToOpen = ((sqInt (*) (char *, sqInt, sqInt)) sCOFfn)(nameIndex, nameSize, writeFlag); if (!okToOpen) { primitiveFail(); } } } } if (!(failed())) { sqFileOpen(file, nameIndex, nameSize, writeFlag); } return fileOop; }