commit 3737b65f5392caec75d78a18797e8c59be5c103a
parent 635cacfe547e0b992bae0c573c9ea3b3cbcb8f2a
Author: claustromaniac <20734810+claustromaniac@users.noreply.github.com>
Date: Wed, 29 Nov 2017 16:15:20 +0000
Fixed issue with commented-out user_pref lines
It ended up being a mixture of the previous commit and the fix. It writes a temporary file on the go that only holds preferences, and generates the target file at once at the end. It's slower than before, but it works.
Diffstat:
| M | updater.bat | | | 52 | +++++++++++++++++++++++++++------------------------- |
1 file changed, 27 insertions(+), 25 deletions(-)
diff --git a/updater.bat b/updater.bat
@@ -207,38 +207,40 @@ EXIT /B
REM ###### Merge function ######
:merge
-DEL /F %2 2>nul
SETLOCAL disabledelayedexpansion
-FOR /F "tokens=1,* delims=]" %%G IN ('find /n /v "" ^< "%~1"') DO (
- SET "_pref=%%H"
- SETLOCAL enabledelayedexpansion
- SET "_temp=!_pref: =!"
- IF /I "user_pref"=="!_temp:~0,9!" (
- IF /I NOT "user.js.parrot"=="!_temp:~12,14!" (
- FOR /F "delims=," %%S IN ("!_pref!") DO (
- SET "_pref=%%S"
- )
- SET _pref=!_pref:"=""!
- FIND /I "!_pref!" %~2 >nul 2>&1
- IF ERRORLEVEL 1 (
- FOR /F "tokens=* delims=" %%X IN ('FIND /I "!_pref!" %~1') DO (
- SET "_temp=%%X"
- SET "_temp=!_temp: =!"
- IF /I "user_pref"=="!_temp:~0,9!" (
- SET "_pref=%%X"
+(
+ FOR /F "tokens=1,* delims=]" %%G IN ('find /n /v "" ^< "%~1"') DO (
+ SET "_pref=%%H"
+ SETLOCAL enabledelayedexpansion
+ SET "_temp=!_pref: =!"
+ IF /I "user_pref"=="!_temp:~0,9!" (
+ IF /I NOT "user.js.parrot"=="!_temp:~12,14!" (
+ FOR /F "delims=," %%S IN ("!_pref!") DO (
+ SET "_pref=%%S"
+ )
+ SET _pref=!_pref:"=""!
+ FIND /I "!_pref!" updatertempfile1 >nul 2>&1
+ IF ERRORLEVEL 1 (
+ FOR /F "tokens=* delims=" %%X IN ('FIND /I "!_pref!" %~1') DO (
+ SET "_temp=%%X"
+ SET "_temp=!_temp: =!"
+ IF /I "user_pref"=="!_temp:~0,9!" (
+ SET "_pref=%%X"
+ )
)
+ ECHO(!_pref!
+ ECHO(!_pref!>>updatertempfile1
)
- ECHO(!_pref!>>%~2
+ ) ELSE (
+ ECHO(!_pref!
)
) ELSE (
- ECHO(!_pref!>>%~2
+ ECHO(!_pref!
)
- ) ELSE (
- ECHO(!_pref!>>%~2
+ ENDLOCAL
)
- ENDLOCAL
-)
+)>%~2
ENDLOCAL
-DEL /F %1 >nul
+DEL /F %1 updatertempfile1 >nul
GOTO :EOF
REM ############################