Florian Weimer
2010-06-07 08:43:10 UTC
Is the following the correct code sequence to return an array
reference or nothing (if result is 0) from an XS function?
PPCODE:
AV *result = 0;
if (some_condition) {
result = newAV();
av_push(result, some_value);
}
if (result) {
EXTEND(SP, 1);
PUSHs(newRV_inc((SV*)result));
}
It's not mentioned in perlxs, but some CPAN modules seem to use this.
reference or nothing (if result is 0) from an XS function?
PPCODE:
AV *result = 0;
if (some_condition) {
result = newAV();
av_push(result, some_value);
}
if (result) {
EXTEND(SP, 1);
PUSHs(newRV_inc((SV*)result));
}
It's not mentioned in perlxs, but some CPAN modules seem to use this.
--
Florian Weimer <***@bfk.de>
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99
Florian Weimer <***@bfk.de>
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99