27 lines
807 B
OpenEdge ABL
27 lines
807 B
OpenEdge ABL
/* -------------------------------------------------------------
|
|
* 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);
|
|
}
|