plain C to D2 const etc:
BLS
nanali at nospam.wanadoo.fr
Mon Dec 15 10:19:51 PST 2008
Denis Koroskin schrieb:
> On Mon, 15 Dec 2008 20:11:44 +0300, BLS <nanali at nospam.wanadoo.fr> wrote:
>
>> Hi, what is the correct way to translate this snippet into _D2_ ?
>> //const and cast()
>>
>> void rc2_decrypt( const unsigned short xkey[64],
>> unsigned char *plain,
>> const unsigned char *cipher )
>> {
>> unsigned x76, x54, x32, x10, i;
>>
>> x76 = (cipher[7] << 8) + cipher[6];
>> .........
>>
>> many TIA, Bjoern
>
> Here you go:
>
> void rc2_decrypt( const(ushort)[64] xkey, ubyte* plain, const(ubyte)*
> cipher )
> {
> uint x76, x54, x32, x10, i;
> x76 = (cipher[7] << 8) + cipher[6];
> // .....
> }
>
> You'd better pass cipher and plain as arrays rather than pointers if
> their sizes are known:
>
> void rc2_decrypt( const(ushort)[64] xkey, const(ubyte)[] plain,
> const(ubyte)[] cipher )
> {
> uint x76, x54, x32, x10, i;
> x76 = (cipher[7] << 8) + cipher[6];
> // .....
> }
Thanks a lot Denis,
I am afraid I am not able to use arrays 'cause I've to use the function
as follows :
export extern(Windows) void rc2_decrypt() in order to use it from my 4GL
development-system.
beside, any reason for const(ubyte)[] plain instead of ubyte[] plain ?
Bjoern
More information about the Digitalmars-d-learn
mailing list