[Implemented] FillMemory(,, #PB_Character)
[Implemented] FillMemory(,, #PB_Character)
Please add #PB_Character as a selectable type to FillMemory().
The best preparation for tomorrow is doing your best today.
Re: FillMemory(,, #PB_Character)
Here a workaround:
lg Kevin
Code: Select all
Procedure FillMemory_(_memory_, _size_, _value_=0, _type_=#PB_Byte)
FillMemory(_memory_, _size_, _value_, _type_)
EndProcedure
Macro FillMemory(_memory_, _size_, _value_=0, _type_=#PB_Byte)
CompilerIf (_type_ = #PB_Character)
CompilerIf (SizeOf(Character) = 1)
FillMemory_(_memory_, _size_, _value_, #PB_Byte)
CompilerElse
FillMemory_(_memory_, _size_, _value_, #PB_Word)
CompilerEndIf
CompilerElse
FillMemory_(_memory_, _size_, _value_, _type_)
CompilerEndIf
EndMacro
*mem = AllocateMemory(8)
FillMemory(*mem, 8, 'A', #PB_Character)
For i = 0 To 7 Step SizeOf(Character)
Debug Chr(PeekC(*mem+i))
Next



Re: FillMemory(,, #PB_Character)
I've been using things as,
but its much clumsier than a native implementation - and as I learnt, this as most workarounds are always potentials error when updating code...
Code: Select all
*Buffer = AllocateMemory((#LLHHX+SizeOf(Character)) * SizeOf(Character))
CompilerIf #PB_Compiler_Unicode
FillMemory(*Buffer, #LLHHX * SizeOf(Character), PeekC(@""), #PB_Word)
CompilerElse
FillMemory(*Buffer, #LLHHX * SizeOf(Character), PeekC(@""), #PB_Byte)
CompilerEndIf
The best preparation for tomorrow is doing your best today.