Fix logic in project's file insertion
The function "file_search" in core.init was sometimes giving a wrong index value, off by one. The problem happened for example when the entry to search was "less than" the first entry, the function returned a value of two instead of one as expected. The bug was easily observed creating a new directory with a name that comes as the first in alphabetical order within the project.
This commit is contained in:
parent
e512c57637
commit
405bd1c2bd
|
@ -191,7 +191,6 @@ end
|
|||
local function file_search(files, info)
|
||||
local filename, type = info.filename, info.type
|
||||
local inf, sup = 1, #files
|
||||
if sup <= 0 then return 1, false end
|
||||
while sup - inf > 8 do
|
||||
local curr = math.floor((inf + sup) / 2)
|
||||
if system.path_compare(filename, type, files[curr].filename, files[curr].type) then
|
||||
|
@ -200,12 +199,12 @@ local function file_search(files, info)
|
|||
inf = curr
|
||||
end
|
||||
end
|
||||
repeat
|
||||
while inf <= sup and not system.path_compare(filename, type, files[inf].filename, files[inf].type) do
|
||||
if files[inf].filename == filename then
|
||||
return inf, true
|
||||
end
|
||||
inf = inf + 1
|
||||
until inf > sup or system.path_compare(filename, type, files[inf].filename, files[inf].type)
|
||||
end
|
||||
return inf, false
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue