for (i = 0; i <= av_len(padn); ++i) {
HE *hent;
SV **nameptr = av_fetch(padn, i, 0);
if (nameptr != NULL && SvPOKp(*nameptr)
&& (hent = hv_fetch_ent(hvn, *nameptr, 0, 0)) != NULL) {
/* do something interesting with the value from hent */
}
}
####
for (i = 0; i <= av_len(padn); ++i) {
HE *hent;
SV **nameptr = av_fetch(padn, i, 0);
if (nameptr != NULL && SvPOKp(*nameptr)) {
SV **field;
U32 len;
const char *name = SvPV(*nameptr, len);
if ((field = hv_fetch(hvn, name, len, 0)) != NULL) {
/* do something interesting with *field */
}
}
}
####
for (i = 0; i <= av_len(padn); ++i) {
SV **nameptr = av_fetch(padn, i, 0);
if (nameptr != NULL && SvPOKp(*nameptr)) {
SV **field;
const char *name = SvPV_nolen(*nameptr);
if ((field = hv_fetch(hvn, name, strlen(name), 0)) != NULL) {
/* do something interesting with *field */
}
}
}