diff --git a/Examples/test-suite/javascript/string_simple_runme.js b/Examples/test-suite/javascript/string_simple_runme.js index 39ae84e9e..71fbb7bd0 100644 --- a/Examples/test-suite/javascript/string_simple_runme.js +++ b/Examples/test-suite/javascript/string_simple_runme.js @@ -3,7 +3,7 @@ var string_simple = require("string_simple"); // Test unicode string var str = "olé"; -var copy = string_simple.copy_string(str); +var copy = string_simple.copy_str(str); if (str !== copy) { throw "Error: copy is not equal: original="+str+", copy="+copy; diff --git a/Examples/test-suite/ocaml/Makefile.in b/Examples/test-suite/ocaml/Makefile.in index 9128b3720..3036d90c0 100644 --- a/Examples/test-suite/ocaml/Makefile.in +++ b/Examples/test-suite/ocaml/Makefile.in @@ -35,7 +35,6 @@ director_using \ enum_thorough \ li_windows \ member_pointer_const \ -minherit \ nested_directors \ preproc_constants \ smart_pointer_inherit \ @@ -45,8 +44,6 @@ using_protected \ FAILING_C_TESTS = \ enums \ preproc_constants_c \ -string_simple \ -unions \ ml_runme = $(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) diff --git a/Examples/test-suite/ocaml/string_simple_runme.ml b/Examples/test-suite/ocaml/string_simple_runme.ml new file mode 100644 index 000000000..327fb85d2 --- /dev/null +++ b/Examples/test-suite/ocaml/string_simple_runme.ml @@ -0,0 +1,9 @@ +open Swig +open String_simple + +let str = "olé" + +let copy = _copy_str (C_string str) as string + +let _ = if str <> copy then + raise (Failure ("Error: copy is not equal: original="^str^", copy="^copy)) diff --git a/Examples/test-suite/ocaml/unions_runme.ml b/Examples/test-suite/ocaml/unions_runme.ml index cbf1628ac..c451cb2be 100644 --- a/Examples/test-suite/ocaml/unions_runme.ml +++ b/Examples/test-suite/ocaml/unions_runme.ml @@ -8,21 +8,21 @@ let b = new_BigStruct C_void let c = new_UnionTest C_void let d = new_EmbeddedUnionTest C_void -let _ = (invoke a) "jill" (C_short 3) -let _ = (invoke b) "jack" (C_char 'a') (* Int conversion *) -let _ = (invoke b) "smallstruct" a (* Put a in b *) -let _ = (invoke c) "bs" b +let _ = (invoke a) "[jill]" (C_short 3) +let _ = (invoke b) "[jack]" (C_char 'a') (* Int conversion *) +let _ = (invoke b) "[smallstruct]" a (* Put a in b *) +let _ = (invoke c) "[bs]" b -let _ = if get_int ((invoke a) "jill" C_void) != 3 then +let _ = if get_int ((invoke a) "[jill]" C_void) != 3 then raise (Failure "jill value is not preserved") -let _ = if get_int ((invoke b) "jack" C_void) != (int_of_char 'a') then +let _ = if get_int ((invoke b) "[jack]" C_void) != (int_of_char 'a') then raise (Failure "jack value is not preserved") -let _ = if get_int ((invoke ((invoke b) "smallstruct" C_void)) - "jill" C_void) != 3 then +let _ = if get_int ((invoke ((invoke b) "[smallstruct]" C_void)) + "[jill]" C_void) != 3 then raise (Failure "jill value is not embedded in bigstruct") -let _ = if get_int ((invoke ((invoke c) "bs" C_void)) - "jack" C_void) != (int_of_char 'a') then +let _ = if get_int ((invoke ((invoke c) "[bs]" C_void)) + "[jack]" C_void) != (int_of_char 'a') then raise (Failure "union set of bigstruct did not take") -let _ = if get_int ((invoke ((invoke c) "ss" C_void)) - "jill" C_void) != (int_of_char 'a') then +let _ = if get_int ((invoke ((invoke c) "[ss]" C_void)) + "[jill]" C_void) != (int_of_char 'a') then raise (Failure "corresponding union values are not the same") diff --git a/Examples/test-suite/string_simple.i b/Examples/test-suite/string_simple.i index c319aa1ef..537daa570 100644 --- a/Examples/test-suite/string_simple.i +++ b/Examples/test-suite/string_simple.i @@ -1,10 +1,10 @@ %module string_simple -%newobject copy_string; +%newobject copy_str; %inline %{ #include -const char* copy_string(const char* str) { +const char* copy_str(const char* str) { size_t len = strlen(str); char* newstring = (char*) malloc(len + 1); strcpy(newstring, str); diff --git a/Lib/ocaml/std_string.i b/Lib/ocaml/std_string.i index bd5be0da2..b70b895f6 100644 --- a/Lib/ocaml/std_string.i +++ b/Lib/ocaml/std_string.i @@ -114,7 +114,7 @@ char **c_charptr_array( const std::vector &str_v ); let string_array_to_vector sa = let nv = _new_StringVector C_void in - array_to_vector nv (fun x -> C_string x) sa ; nv + ignore (array_to_vector nv (fun x -> C_string x) sa) ; nv let c_string_array ar = _c_charptr_array (string_array_to_vector ar) diff --git a/Lib/ocaml/std_vector.i b/Lib/ocaml/std_vector.i index 53d107447..6f82058b5 100644 --- a/Lib/ocaml/std_vector.i +++ b/Lib/ocaml/std_vector.i @@ -71,7 +71,7 @@ namespace std { let array_to_vector v argcons array = for i = 0 to (Array.length array) - 1 do - (invoke v) "set" (C_list [ C_int i ; (argcons array.(i)) ]) + ignore ((invoke v) "set" (C_list [ C_int i ; (argcons array.(i)) ])) done ; v