void pdf_dict_insert_obj(dict *d, char *k, pdf_obj* o) { pdf_obj key = pdf_key_to_obj(k); dict_insert(d, (char*)key.value.k, (void*)pdf_obj_full_copy(o)); }
pdf_err pdf_info_load(pdf_obj *o, pdf_info **info) { pdf_obj *a; pdf_info *i; if (!o) return pdf_ok; *info = pdf_malloc(sizeof(pdf_info)); if (!*info) return pdf_ok; i = *info; memset(*info, 0, sizeof(pdf_info)); if (a = pdf_dict_get(o, "Title")) { i->title = pdf_obj_full_copy(a); } if (a = pdf_dict_get(o, "Author")) { i->author = pdf_obj_full_copy(a); } if (a = pdf_dict_get(o, "Subject")) { i->subject = pdf_obj_full_copy(a); } if (a = (pdf_obj*)pdf_dict_get(o, "Keywords")) { i->keywords = pdf_obj_full_copy(a); } if (a = (pdf_obj*)pdf_dict_get(o, "Creator")) { i->creator = pdf_obj_full_copy(a); } if (a = pdf_dict_get(o, "Producer")) { i->producer = pdf_obj_full_copy(a); } a = pdf_dict_get(o, "CreationDate"); if (a) {i->creationdate = pdf_malloc(a->value.s.len+1); memcpy(i->creationdate, a->value.s.buf, a->value.s.len); i->creationdate[a->value.s.len] = 0;} a = pdf_dict_get(o, "ModDate"); if (a) {i->moddate = pdf_malloc(a->value.s.len+1); memcpy(i->moddate, a->value.s.buf, a->value.s.len); i->moddate[a->value.s.len] = 0;} if (a = pdf_dict_get(o, "Trapped")) { i->trapped = pdf_obj_full_copy(a); } return pdf_ok; }