/*------------------------------------ map1dLoadRangeList ---*/ bool map1dLoadRangeList(Map1dData * xx, t_symbol * fileName) { bool result = false; t_filehandle fileRef; if (path_opensysfile(fileName->s_name, path_getdefault(), &fileRef, PATH_READ_PERM)) { LOG_ERROR_2(xx, OUTPUT_PREFIX "problem opening file '%s'", fileName->s_name) } else { t_handle fileContents = sysmem_newhandle(0); if (sysfile_readtextfile(fileRef, fileContents, 0, TEXT_LB_NATIVE)) { LOG_ERROR_2(xx, OUTPUT_PREFIX "problem reading file '%s'", fileName->s_name) } else if (binbuf_text(xx->fBuffer, fileContents, sysmem_handlesize(fileContents))) { post("problem processing"); LOG_ERROR_2(xx, OUTPUT_PREFIX "problem converting file '%s'", fileName->s_name) } else {
int lua_importfile(lua_State *L) { const char *filename; long outtype; short file_volume, err; if(!lua_isstring(L, 1)) luaL_error(L, "argument 1 for outlet must be a string"); filename = lua_tostring(L, 1); err = locatefile_extended(filename, &file_volume, &outtype, 0, 0); if(err) { error("jit.gl.lua: can't find file %s", filename); } else { // read file from disk long count; char **texthandle; t_filehandle fh; err = path_opensysfile(filename, file_volume, &fh, READ_PERM); if (err) { error("jit.gl.lua: %s: error %d opening file", filename, err); return 0; } texthandle = sysmem_newhandle(0); sysfile_readtextfile(fh, texthandle, 0, TEXT_LB_NATIVE); sysfile_close(fh); count = sysmem_handlesize(texthandle); sysmem_resizehandle(texthandle, count + 1); (*texthandle)[count] = 0; //NULL terminate, '\0'? //run file in Lua err = luaL_loadstring(L, *texthandle); err = lua_pcall(L, 0, LUA_MULTRET, 0); if (err) { post("lua pcall error %s", lua_tostring(L, -1)); lua_pop(L, 1); } sysmem_lockhandle(texthandle, false); sysmem_freehandle(texthandle); } return 0; }