[comp.os.msdos.programmer] Bugs in BC++ 2.0 !!

mlord@bwdls58.bnr.ca (Mark Lord) (03/29/91)

So far, I have used BC++ for about three hours.
In that time, I have noticed that the environment is MUCH
more stable than TC++ 1.00/1.01.. *no* crashes of any kind.
I have yet to try the WINDOWS3 stuff, though.

HOWEVER.. the following two bugs may be of general interest.
I will likely call Borland about them after the Easter weekend.


	1) The <conio.h> routines are slightly broken.
	When outputing a "\r\n" sequence using either putch()
	or cputs(), these routines no longer perform an implicit
	clreol() to clean the rest of the line before advancing.
	This broke my port of LESS.. very obvious, as the screen
	just filled up with identical "garbage" at the end of all
	short lines of output.

	My interim work-a-round is to simply perform a clreol()
	immediately before outputing "\r\n".

	2) The GREP.COM program *still* does not know how to display
	its permanent option settings correctly.  Try doing GREP -o -u
	and then GREP ? to see what I mean.  This bug has been there
	from TC++ 1.00 onwards.  To fix it in BC++ 2.00, apply the 
	following patch to GREP.COM (note also that even though the
	GREP.COM is not identical to previous releases, it still has
	the same version number, 3.0.  haha!):

	For the GREP.COM that comes with BC++ 2.00,
	At offset $1A83, the values:  8C 19 A9 19 BD
	should be changed to:         A9 19 BD 19 8C

	For the older version of this from TC++ 1.00,
	At offset $1A89, the values:  92 19 AF 19 C3
	should be changed to:         AF 19 C3 19 92

Enjoy.
---
MLORD@BNR.CA  Ottawa, Ontario *** Personal views only ***
begin 644 NOTSHARE.COM ; Free MS-DOS utility - use instead of SHARE.EXE
MZQ.0@/P/=`J`_!9T!2[_+H``L/_/+HX&+`"T2<TAO@,!OX0`N1(`C,B.P/.DS
<^K@A-<TAB1Z``(P&@@"ZA`"X(27-(?NZE@#-)P#-5
``
end

resnicks@netcom.COM (Steve Resnick) (03/30/91)

In article <6286@bwdls58.bnr.ca> mlord@bwdls58.bnr.ca (Mark Lord) writes:
>
>So far, I have used BC++ for about three hours.
>In that time, I have noticed that the environment is MUCH
>more stable than TC++ 1.00/1.01.. *no* crashes of any kind.
>I have yet to try the WINDOWS3 stuff, though.
>
>HOWEVER.. the following two bugs may be of general interest.
>I will likely call Borland about them after the Easter weekend.
>
>
>	1) The <conio.h> routines are slightly broken.
>	When outputing a "\r\n" sequence using either putch()
>	or cputs(), these routines no longer perform an implicit
>	clreol() to clean the rest of the line before advancing.
>	This broke my port of LESS.. very obvious, as the screen
>	just filled up with identical "garbage" at the end of all
>	short lines of output.
>
>	My interim work-a-round is to simply perform a clreol()
>	immediately before outputing "\r\n".
>

	Turbo C 2.0's cputs never did this. I have never tried TC++
	so I can't tell you. Personally, I would expect it NOT to
	do a clreol() unless explicitly called. 

	One "bug" (feature?) I found in the conio stuff is with cgets.
	In TC Version 2.0 (Why the hell didn they name it Borland C++ 2.0?)
	cgets called DOS function 0x0A to get it's input. From there you
	could set buffer[0] = 254 and get 254 characters back. Now, they
	get the characters using getch. They do a signed comparison on
	the first byte in the buffer passed. The net result is that you
	can only read in 127 byte strings. (Argh!)

	A call to borland cleared this up for me, and basicly told me I need
	to write a cgets which worked like the TC 2.0 version...


- Steve

-- 
-------------------------------------------------------------------------------
	resnicks@netcom.com, steve@camphq, IFNA:	1:143/105.0, 
USNail: 530 Lawrence Expressway, Suite 374 
        Sunnyvale, Ca 94086
- In real life: Steve Resnick. Flames, grammar and spelling errors >/dev/null
0x2b |~ 0x2b, THAT is the question.
The Asylum OS/2 BBS - (408)263-8017 12/2400,8,1 - Running Maximus CBCS 1.2
-------------------------------------------------------------------------------

rbaines@umaxc.weeg.uiowa.edu (Robert Baines) (03/31/91)

From article <1991Mar29.201947.10398@netcom.COM>, by resnicks@netcom.COM (Steve Resnick):
> 	One "bug" (feature?) I found in the conio stuff is with cgets.
> 	In TC Version 2.0 (Why the hell didn they name it Borland C++ 2.0)

As I understand it there are to be TWO C++ compilers, Borland C++ 2.0 and
Turbo C++ 2.0 (may not be out yet).  One is supposed to be a heavy duty
compiler to compete with Micrsoft C (Borland C++) and the other version is
the cheaper/limited version for those who don't need the professional version.
Also, I believe the Turbo version will NOT include Windows support.

If I got anything wrong somebody feel free to correct me. (politely of course)