[SETUPLIB] Fixes and improvements for the file copying code.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 7 Jan 2018 00:35:48 +0000 (01:35 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 5 Nov 2018 22:35:14 +0000 (23:35 +0100)
commit42758b303bd006f8a1ef4a362357e5d040d896ea
tree5d32701992916185ff1917820f7a7337d261269c
parent81c0d8a256dc223aba35750134a3d4ff83929755
[SETUPLIB] Fixes and improvements for the file copying code.

- In PrepareCopyInfFile(), explicitly use AddSectionToCopyQueueCab()
  to retrieve the files from the CAB INF.

  Otherwise if one continued to use and rely on AddSectionToCopyQueue()
  to do this job instead, bad things could happen like, re-enumerating
  twice or more (and adding them to the file queue) the same files.
  This is because in the new code AddSectionToCopyQueue() can be called
  many times to deal with different SIF file sections. The old code then
  called AddSectionToCopyQueueCab() in turn, but on the same list...
  Now the steps performed are clear, and everything works as intended.

- Simplify the code that computes the full source and destination paths
  for the files to be copied and directories to be created, using helper
  functions.

- Compute the source file and target location from the TXTSETUP.SIF
  entries in a NT-compatible manner.
base/setup/lib/install.c