Microsoft KB Archive/122220

= FIX: Return Value Not Ignored with NMAKE's Dash (-) Command =

Article ID: 122220

Article Last Modified on 12/1/2003

-

APPLIES TO

 Microsoft Program Maintenance Utility 1.4, when used with:  Microsoft Visual C++ 1.5 Professional Edition

 Microsoft Visual C++ 1.51

 Microsoft Visual C++ 1.0 Professional Edition

 Microsoft Visual C++ 2.0 Professional Edition</li></ul> </li></ul>

-

<div class="notice_section">

This article was previously published under Q122220

<div class="symptoms_section">

SYMPTOMS
When using the dash command (-) in a makefile to turn off error checking for a given command, return values that are greater than 255 will not be ignored. NMAKE will detect an error and the make process will be terminated, as shown below:

NMAKE : fatal error U1077: 'C:\WINDOWS\SYSTEM32\CMD.EXE' : return

code '0xYYY'

Stop.

YYY is the hexadecimal value of the return code from the command that generated the error.

<div class="resolution_section">

RESOLUTION
Use the !CMDSWITCHES (+/-) I directive to work around this problem. For example: !CMDSWITCHES +I mylabel: mycommand !CMDSWITCHES -I

<div class="status_section">

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was fixed in Microsoft Visual C++, 32-bit Edition, version 4.0.

<div class="moreinformation_section">

Sample Code
The following makefile will prematurely terminate after the mycommand statement if an error MYCOMMAND.EXE returns is a value greater that 255. A small MS-DOS- or Windows NT-based console program returning a value can be used as mycommand. mylabel: -mycommand

Additional query words: 1.50 1.51 1.00 2.00 buglist1.50 buglist1.51 buglist1.00 buglist2.00

Keywords: kbfix KB122220

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.