blob: 92544f9b6276358670b73b3e215aedac475dc20e [file] [log] [blame]
/* -------------------------------------------------------------
* 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);
}