[fpc-pascal] length for long ansistring = segment fault

Michael Van Canneyt michael at freepascal.org
Mon Dec 3 12:00:21 CET 2012



On Mon, 3 Dec 2012, Jonas Maebe wrote:

>
> On 03 Dec 2012, at 11:52, Michael Van Canneyt wrote:
>
>> On Mon, 3 Dec 2012, Jonas Maebe wrote:
>> 
>>> On 03 Dec 2012, at 11:13, Michael Van Canneyt wrote:
>>> 
>>>> You are overwriting the pointer. S is (behind the scenes) a pointer to a 
>>>> memory area. You should do FillChar(s[1], 1024, '*');
>>> 
>>> Or use http://www.freepascal.org/docs-html/rtl/system/stringofchar.html
>> 
>> I was considering answering with that too, but I didn't feel like checking 
>> how it is implemented, to judge the speed penalty :)
>
> It definitely doesn't have the "ask the mailing list because I made a 
> mistake"-penalty :)

Checked anyway now. 
Stringofchar uses fillchar internally, so it's better to use that.

Michael.



More information about the fpc-pascal mailing list