[Bug 47071] New: Nest or mixed "FOR" and "IF" command sometimes get different result in Wine and Windows.
wine-bugs at winehq.org
wine-bugs at winehq.org
Thu Apr 25 06:03:10 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=47071
Bug ID: 47071
Summary: Nest or mixed "FOR" and "IF" command sometimes get
different result in Wine and Windows.
Product: Wine
Version: 3.0
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: cmd
Assignee: wine-bugs at winehq.org
Reporter: mzidbh at hotmail.com
Distribution: ---
Created attachment 64257
--> https://bugs.winehq.org/attachment.cgi?id=64257
batch files and snapshots of execution result
The Wine's command interpreter seems to ...
1. could not pair "IF" and "ELSE" correctly. ( Case 1 4 )
2. would ignore scripts after inner "ELSE". ( Case 2 3 )
Case 1
========================================
@ECHO OFF
ECHO FOR in IF 01 :
IF 1 EQU 1 (
FOR %%A IN (1,1) DO (
ECHO A=%%A
)
) ELSE (
ECHO This line should NOT be executed.
)
ECHO This line should be executed.
EXIT /B
----------------------------------------
Result in WINE 3.0
----------------------------------------
FOR in IF 01 :
A=1
A=1
Can't recognize 'ELSE ' as an internal or external command, or batch script.
This line should NOT be executed.
This line should be executed.
----------------------------------------
Result in Windows 7
----------------------------------------
FOR in IF 01 :
A=1
A=1
This line should be executed.
========================================
Case 2
========================================
@ECHO OFF
ECHO IF in FOR 01 :
FOR %%A IN (1,1) DO (
IF 1 EQU 1 (
ECHO This line should be executed. [No.1]
) ELSE (
ECHO This line should NOT be executed.
)
ECHO This line should be executed. [No.2]
)
EXIT /B
----------------------------------------
Result in WINE 3.0
----------------------------------------
IF in FOR 01 :
This line should be executed. [No.1]
This line should be executed. [No.1]
----------------------------------------
Result in Windows 7
----------------------------------------
IF in FOR 01 :
This line should be executed. [No.1]
This line should be executed. [No.2]
This line should be executed. [No.1]
This line should be executed. [No.2]
========================================
Case 3
========================================
@ECHO OFF
ECHO IF in IF 01 :
IF 1 EQU 1 (
IF 1 EQU 1 (
ECHO This line should be executed. [No.1]
) ELSE (
ECHO This line should NOT be executed. [No.1]
)
ECHO This line should be executed. [No.2]
) ELSE (
ECHO This line should NOT be executed. [No.2]
)
EXIT /B
----------------------------------------
Result in WINE 3.0
----------------------------------------
IF in IF 01 :
This line should be executed. [No.1]
----------------------------------------
Result in Windows 7
----------------------------------------
IF in IF 01 :
This line should be executed. [No.1]
This line should be executed. [No.2]
========================================
Case 4
========================================
@ECHO OFF
ECHO IF in IF 04 :
IF 4 EQU 4 (
IF 4 EQU 5 CALL :Label1
ECHO This line should be executed. [No.1]
) ELSE (
ECHO This line should NOT be executed. [No.2]
)
GOTO :Label2
:Label1
ECHO This line should NOT be executed. [No.1]
GOTO :EOF
:Label2
EXIT /B
----------------------------------------
Result in WINE 3.0
----------------------------------------
IF in IF 04 :
This line should NOT be executed. [No.2]
----------------------------------------
Result in Windows 7
----------------------------------------
IF in IF 04 :
This line should be executed. [No.1]
========================================
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list