Anyone have any luck with getting copyover not to crash with the snippet using his copyoverget copyoverset functions?
I am saving mudclient to playerfile now, I suppose I could take out the ability for MSDP with copyover. Using old copyover code doesn't crash, but I am at least getting a core it so worth giving it a go, to do it as he intended.
#0 0x00000000004a22c9 in write_to_buffer (d=d@entry=0x3b44e20, txt=0x8ec720 <colorize(char const*, descriptor_data*)::result> "\033[0;34m",
length=length@entry=0) at comm.c:1979
1979 if ( d->pProtocol->WriteOOB > 0 )
(gdb) bt
#0 0x00000000004a22c9 in write_to_buffer (d=d@entry=0x3b44e20, txt=0x8ec720 <colorize(char const*, descriptor_data*)::result> "\033[0;34m",
length=length@entry=0) at comm.c:1979
#1 0x0000000000498da0 in send_to_desc (txt=<optimized out>, d=0x3b44e20) at color.c:1577
#2 0x0000000000498dd7 in send_to_char (txt=<optimized out>, ch=ch@entry=0x3b42920) at color.c:1593
#3 0x0000000000498e12 in set_char_color (AType=AType@entry=44, ch=ch@entry=0x3b42920) at color.c:1490
#4 0x00000000004a3fb5 in act (AType=AType@entry=44, format=format@entry=0x63ff00 "A puff of ethereal smoke dissipates around you!",
ch=0x3b42920, arg1=arg1@entry=0x0, arg2=arg2@entry=0x0, type=type@entry=3) at comm.c:2884
#5 0x00000000004a95ab in copyover_recover () at copyover.c:385
#6 0x00000000004a7e27 in main (argc=<optimized out>, argv=<optimized out>

at comm.c:812
(gdb) frame 0
#0 0x00000000004a22c9 in write_to_buffer (d=d@entry=0x3b44e20, txt=0x8ec720 <colorize(char const*, descriptor_data*)::result> "\033[0;34m",
length=length@entry=0) at comm.c:1979
1979 if ( d->pProtocol->WriteOOB > 0 )
(gdb) list
1974 return;
1975
1976
1977 txt = ProtocolOutput( d, txt, &length );
1978
1979 if ( d->pProtocol->WriteOOB > 0 )
1980 --d->pProtocol->WriteOOB;
1981
1982
1983 /*
(gdb)
(gdb) print txt
$1 = 0x8ec720 <colorize(char const*, descriptor_data*)::result> "\033[0;34m"
(gdb) print &length
$2 = (size_t *) 0x7ffe16ef0ce8
(gdb) print d->pProtocol
$3 = (protocol_t *) 0x0
(gdb) print d
$4 = (DESCRIPTOR_DATA *) 0x3b44e20
(gdb) print d->pProtocol->WriteOOB
Cannot access memory at address 0x0
(gdb)
For some reason, it seems the d->pProtocol optimizes out.
If anyone wants to help with debugging I'd appreciate it. Thanks!