pdf_mbox * pdf_get_mbox(PDF *p, pdc_vtr *mboxes, const char *name, int number, int *o_count) { pdf_mbox *o_mbox = NULL; int count = 0; if (mboxes == NULL) mboxes = p->curr_ppt->mboxes; if (mboxes != NULL) { if (name == NULL && number <= 0) { count = pdc_vtr_size(mboxes); } else { int i, n = pdc_vtr_size(mboxes); for (i = 0; i < n; i++) { pdf_mbox *mbox = (pdf_mbox *) &pdc_vtr_at(mboxes, i, pdf_mbox); if (name == NULL || !pdc_strcmp(name, mbox->name)) { count++; if (o_count == NULL && count == number) { o_mbox = mbox; break; } } } } } if (o_count != NULL) *o_count = count; return o_mbox; }
int pdf_get_max_action(PDF *p) { return (p->actions == NULL) ? -1 : pdc_vtr_size(p->actions) - 1; }