@@ -242,19 +242,27 @@ if loader.postexec ~= nil then
242242 dofile (loader .postexec )
243243end
244244
245- loader .dataout = loader .tmpdir .. loader .pathseparator .. " data" .. loader .pathseparator
246- loader .metaout = loader .tmpdir .. loader .pathseparator .. " meta" .. loader .pathseparator
245+ loader .dataout = loader .tmpdir .. loader .pathseparator .. " data.tmp"
246+ loader .metaout = loader .tmpdir .. loader .pathseparator .. " meta.tmp"
247+ loader .indexout = loader .tmpdir .. loader .pathseparator .. " index.tmp"
248+
249+ target_data = assert (io.open (loader .dataout , " w" ))
250+ target_meta = assert (io.open (loader .metaout , " w" ))
251+ target_index = assert (io.open (loader .indexout , " w" ))
247252
248253function loader_data_export (name ,value )
249- local target = assert ( io.open ( loader . dataout .. name , " w " ))
250- target :write (string.format (" %s" ,tostring (value )))
251- target : close ( )
254+ -- write value to target_data
255+ target_data :write (string.format (" %s" ,tostring (value )))
256+ target_data : write ( " \0 " .. " \0 " .. " \0 " )
252257end
253258
254259function loader_meta_export (name ,value )
255- local target = assert (io.open (loader .metaout .. name , " w" ))
256- target :write (string.format (" %s" ,tostring (value )))
257- target :close ()
260+ -- write name to target_index
261+ target_index :write (name )
262+ target_index :write (" \0 " .. " \0 " .. " \0 " )
263+ -- write value to target_meta
264+ target_meta :write (string.format (" %s" ,tostring (value )))
265+ target_meta :write (" \0 " .. " \0 " .. " \0 " )
258266end
259267
260268function loader_node_export (name ,node )
@@ -309,3 +317,7 @@ for index,value in ipairs(loader.export) do
309317 loader_node_export (value ,target )
310318 end
311319end
320+
321+ target_index :close ()
322+ target_meta :close ()
323+ target_data :close ()
0 commit comments