Skip to content

Commit

Permalink
[fix] objectFiles.ml: defensive fix against List.extract_all failure
Browse files Browse the repository at this point in the history
  • Loading branch information
OpaOnWindowsNow committed Mar 26, 2012
1 parent 63dcc99 commit 2c64387
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions compilerlib/objectFiles.ml
Expand Up @@ -1810,10 +1810,18 @@ let add_compiler_packages packs =
let unique l = List.uniq_unsorted ~cmp:Package.compare l in let unique l = List.uniq_unsorted ~cmp:Package.compare l in
package_names := unique (!package_names @ packs); package_names := unique (!package_names @ packs);
package_deep_names := unique (!package_deep_names @ deeps @ packs); package_deep_names := unique (!package_deep_names @ deeps @ packs);
let (h,t) = List.extract_last !package_deep_names_and_more_deeps_names in (if !package_deep_names_and_more_deeps_names <> [] then (
package_deep_names_and_more_deeps_names := (unique (h @ deeps @ packs @ [t])); let (h,t) = List.extract_last !package_deep_names_and_more_deeps_names in
let (h,t) = List.extract_last !package_names_and_more_names in package_deep_names_and_more_deeps_names := unique (h @ deeps @ packs @ [t])
package_names_and_more_names := (unique (h @ deeps @ packs @ [t])); ) else (
package_deep_names_and_more_deeps_names := unique (!package_deep_names_and_more_deeps_names @ deeps @ packs)
));
if !package_names_and_more_names <> [] then (
let (h,t) = List.extract_last !package_names_and_more_names in
package_names_and_more_names := unique (h @ deeps @ packs @ [t])
) else (
package_names_and_more_names := unique (!package_names_and_more_names @ deeps @ packs )
);
compare_packages_update !package_deep_names_and_more_deeps_names;; compare_packages_update !package_deep_names_and_more_deeps_names;;


let resave () = let resave () =
Expand Down

0 comments on commit 2c64387

Please sign in to comment.