lFrom
argv.i
l
l// Creates a new Perl array and places a NULL-terminated
char ** into it
l%typemap(out) char ** {
l AV *myav;
l SV
**svs;
l int i = 0,len = 0;
l /* Figure
out how many elements we have */
l while
($1[len])
l len++;
l svs = (SV **) malloc(len*sizeof(SV
*));
l for (i = 0; i < len ; i++) {
l svs[i]
= sv_newmortal();
l
sv_setpv((SV*)svs[i],$1[i]);
l };
l myav
= av_make(len,svs);
l free(svs);
l $result =
newRV((SV*)myav);
l
sv_2mortal($result);
l argvi++;
l}
l