On Sun, 29 Jan 2006, Michalis Kamburelis wrote:
> Bob Richards wrote: > > Michalis Kamburelis wrote: > > > > > > > There's a bug in Hex2Dec implementation -- it returns 0 instead of > > > raising EConvertError. Here's a patch: > > > > > > Index: strutils.pp > > > =================================================================== > > > --- strutils.pp (wersja 2298) > > > +++ strutils.pp (kopia robocza) > > > @@ -1156,7 +1156,7 @@ > > > HexStr:='$'+ S > > > else > > > HexStr:=S; > > > - Result:=StrTointDef(HexStr,0); > > > + Result:=StrToint(HexStr); > > > end; > > > > > > function Dec2Numb(N: Longint; Len, Base: Byte): string; > > > _______________________________________________ > > > > > > First, thanks for the reply; I applied the patch, it applied without a > > problem, verified > > the new StrUtils.pp source, all OK as per the patch. Recompiled > > strutils.ppu. The function > > still returns a zero on error. > > > > Is there another patch I need as well? > > I'm quite sure that my patch is all you need. I tested it on my system with > your test program hextest, and it fixed the situation. So my guess is that > you're probably mistakenly using old compiled version of strutils unit instead > of the patched one. Check it -- e.g. add some trivial > Writeln('i am the new version'); > inside Hex2Dec implementation and see if your hextest prints this message. > > You can also just paste the corrected implementation of Hex2Dec inside your > program, this will also fix the bug, without the need to recompile strutils > unit. > > Of course, ultimately the solution is to wait until this patch will be applied > to FPC sources and then use updated FPC version from SVN. Patch is applied. Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal