| /* ------------------------------------------------------------- |
| * SWIG library containing argc and argv multi-argument typemaps |
| * ------------------------------------------------------------- */ |
| |
| %typemap(ctype) (int ARGC, char **ARGV) "SWIG_c_dstring_array" |
| %typemap(imtype) (int ARGC, char **ARGV) "string[]" |
| %typemap(dtype) (int ARGC, char **ARGV) "string[]" |
| |
| %typemap(in, canthrow=1) (int ARGC, char **ARGV) { |
| $1_ltype i, len; |
| len = $input.len; |
| $2 = ($2_ltype) malloc((len+1)*sizeof($*2_ltype)); |
| if ($2 == SWIG_NULLPTR) { |
| SWIG_DSetPendingException(SWIG_DException, "memory allocation failed"); |
| return $null; |
| } |
| $1 = len; |
| for (i = 0; i < len; i++) { |
| $2[i] = $input.array[i].str; |
| } |
| $2[i] = SWIG_NULLPTR; |
| } |
| |
| %typemap(freearg) (int ARGC, char **ARGV) { |
| free((void *)$2); |
| } |