54 lines
1.1 KiB
D
54 lines
1.1 KiB
D
module char_binary_runme;
|
|
|
|
import char_binary.char_binary;
|
|
import char_binary.Test;
|
|
import std.stdio;
|
|
|
|
void main() {
|
|
Test t = new Test();
|
|
string str = "hile";
|
|
if (t.strlen(str) != 4) {
|
|
writeln(t.strlen(str));
|
|
throw new Exception("bad multi-arg typemap");
|
|
}
|
|
|
|
if (t.strlen("hil\000") != 4) {
|
|
throw new Exception("bad multi-arg typemap");
|
|
}
|
|
|
|
// creating a raw char*
|
|
auto pc = new_pchar(5);
|
|
pchar_setitem(pc, 0, 'h');
|
|
pchar_setitem(pc, 1, 'o');
|
|
pchar_setitem(pc, 2, 'l');
|
|
pchar_setitem(pc, 3, 'a');
|
|
pchar_setitem(pc, 4, 0);
|
|
|
|
/* FIXME: pc is not string
|
|
if (t.strlen(pc) != 4) {
|
|
throw new Exception("bad multi-arg typemap");
|
|
}
|
|
if (t.ustrlen(pc) != 4) {
|
|
throw new Exception("bad multi-arg typemap");
|
|
}
|
|
*/
|
|
|
|
/* FIXME: pc is not string
|
|
var_pchar = pc;
|
|
*/
|
|
var_pchar = "hola";
|
|
if (var_pchar != "hola") {
|
|
throw new Exception("bad pointer case");
|
|
}
|
|
|
|
/* FIXME: pc is not string
|
|
var_namet = pc;
|
|
*/
|
|
var_namet = "hola";
|
|
if (var_namet != "hola") {
|
|
throw new Exception("bad pointer case");
|
|
}
|
|
|
|
delete_pchar(pc);
|
|
}
|