1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
if [ catch { load ./char_binary[info sharedlibextension] Char_binary} err_msg ] {
puts stderr "Could not load shared object:\n$err_msg"
}
Test t
set str "hile"
if { [ t strlen $str ] != 4 } {
puts stderr "bad multi-arg typemap"
exit 1
}
if { [ t ustrlen $str ] != 4 } {
puts stderr "bad multi-arg typemap"
exit 1
}
# The universal character Escape Sequence is 2 bytes
set str2 "hi\u0000"
if { [ t strlen $str2 ] != 4 } {
puts stderr "bad multi-arg typemap"
exit 1
}
if { [ t ustrlen $str2 ] != 4 } {
puts stderr "bad multi-arg typemap"
exit 1
}
# creating a raw char*
set 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 a string in tcl
if { 0 } {
if { [ t strlen $pc ] != 4 } {
puts stderr "bad multi-arg typemap"
exit 1
}
if { [ t ustrlen $pc ] != 4 } {
puts stderr "bad multi-arg typemap"
exit 1
}
}
# FIXME: pc is not a string in tcl
if { 0 } {
set var_pchar $pc
} else {
set var_pchar "hola"
}
if { $var_pchar != "hola" } {
puts stderr "bad pointer case"
exit 1
}
# FIXME: pc is not a string in tcl
if { 0 } {
set var_namet $pc
} else {
set var_namet "hola"
}
if { $var_namet != "hola" } {
puts stderr "bad pointer case"
exit 1
}
delete_pchar $pc
|