ver. 4.0 Build/Command Line Problem Found !!
- Posted by bernie Mar 19, 2009
- 866 views
Prior to SVN1471 build worked properly because revget.e never
had a command line that was longer 2 parameters. I know this
because I traced through a complete build process.
Then SVN1472 upgrade was made to the backend runtime to enable options to
be used.
If you check below you will see a -i option being passed through rev_1_3()
code and because of the option; the length of the command line is
increased beyond the two parameter limit being tested for.
The code will then cause an abort.
THIS IS WHAT THE MAKEFILE.WAT IS EXECUTING said...
Open Watcom Make Version 1.8 Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved. Source code is available under the Sybase Open Watcom Public License. See http://www.openwatcom.org/ for details. ------- ALL ----------- wmake -h -f makefile.wat winall DEBUG= MANAGED_MEM=1 CONFIG=config.wat ------- WINALL ----------- wmake -h -f makefile.wat interpreter DEBUG= MANAGED_MEM=1 CONFIG=config.wat wmake -h -f makefile.wat E:\1470\source\intobj\main-.c EX=e:\1470\bin\exwc.exe E U_TARGET=int. OBJDIR=intobj DEBUG= MANAGED_MEM=1 CONFIG=config.wat DEBUG= MANAGE D_MEM=1 mkdir E:\1470\source\intobj mkdir E:\1470\source\intobj\back e:\1470\bin\exwc.exe -i ..\include revget.ex
THIS IS PART WHERE REVGET.EX NEEDS TO BE REWRITTEN said...
procedure rev_1_3() sequence c integer h sequence f object x integer tryst tryst = 0 c = command_line() if length(c) = 2 then tryst = 1 elsif length(c) != 3 then -- <--------<< c length is 4 because of -i option puts(2, "Incorrect usage.\n") abort(1) end if
THIS IS THE COMMAND LINE ( sequence c ) IN ABOVE REVGET.EX said...
-- Note this a screen copy from trace that's why sequence looks wrong. -- There is no way to display it properly here so it makes sense. c={ {101e,58:,92\,491,524,557,480,92\,98b,105i,110n,92\,101e,120x,119w,99c, 46.,101e,120x,101e}, {45-,105i}, {46.,46.,92\,105i,110n,99c,108l,117u,100d,101e}, {114r,101e,118v,103g,101e,116t,46.,101e,120x} } * Press Enter to resume trace