[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Structures with byte arrays using fromstring cause segfault
[Thread Prev] | [Thread Next]
- Subject: Re: Structures with byte arrays using fromstring cause segfault
- From: Jussi Lahtinen <jussi.lahtinen@xxxxxxxxx>
- Date: Mon, 20 May 2024 04:02:52 +0300
- To: user@xxxxxxxxxxxxxxxxxxxxxx
Here is your code corrected: Public Struct demo tag[100] As Byte End Struct Public dtag As Struct Demo Public theString As String = "This is a test string tag" Public Sub main() dtag.tag.fromstring(theString) Print "Tag="; dtag.tag.tostring() For i As Integer = 0 To theString.len - 1 dtag.tag[i] = Asc(theString[i]) Next dtag.tag[i + 1] = 0 Print "Tag="; dtag.tag.tostring() End However, the fromstring() function still does nothing. Jussi On Sun, May 19, 2024 at 11:36 PM Brian G <brian@xxxxxxxxxxxxxxxx> wrote: > When Working with structures with byte arrays, the copy of a string to > the byte array > using fromstring() appears to corrupt memory > > But using the tostring() seems to work correctly. > > I have included a simple script to demonstrate the issue. > The first line does a fromstring() and initially appears to do nothing. > > But the last line that frees the allocated memory causes a segfault > sometimes. > > Removing the line doing the fromstring() makes everything ok on the free. > > Maybe I am using this in an incorrect way? > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > #!/usr/bin/env gbs3 > > public struct demo > tag[100] as byte > end struct > > public dtag as demo = alloc(400) > public theString as string = "This is a test string tag" > > public sub main() > dtag.tag.fromstring(theString) > > print "Tag=";dtag.tag.tostring() ' prints nothing and in fact the > content is not changed. > > for i as integer = 0 to theString.len-1 > dtag.tag[i] = asc(theString[i]) > next > dtag.tag[i+1]=0 > > print "Tag=";dtag.tag.tostring() > > free(varptr(dtag)) > end > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > -- > ~~~~ Brian > >
Re: Structures with byte arrays using fromstring cause segfault | Jussi Lahtinen <jussi.lahtinen@xxxxxxxxx> |
Structures with byte arrays using fromstring cause segfault | Brian G <brian@xxxxxxxxxxxxxxxx> |