1 /* ------------------------------------------------------------
3 * ------------------------------------------------------------ */
5 /* ------------------------------------------------------------
9 %apply (int ARGC, char **ARGV) { (size_t argc, const char **argv) }
13 int mainApp(size_t argc, const char **argv)
18 then in the ruby side:
20 args = ["asdf", "asdf2"]
23 * ------------------------------------------------------------ */
25 %typemap(in) (int ARGC, char **ARGV) {
26 if (rb_obj_is_kind_of($input,rb_cArray)) {
28 int size = RARRAY_LEN($input);
30 $2 = (char **) malloc((size+1)*sizeof(char *));
31 VALUE *ptr = RARRAY_PTR($input);
32 for (i=0; i < size; i++, ptr++) {
33 $2[i]= STR2CSTR(*ptr);
38 %argument_fail(SWIG_TypeError, "int ARGC, char **ARGV", $symname, $argnum);
42 %typemap(typecheck, precedence=SWIG_TYPECHECK_STRING_ARRAY) (int ARGC, char **ARGV) {
43 $1 = rb_obj_is_kind_of($input,rb_cArray);
46 %typemap(freearg) (int ARGC, char **ARGV) {