| line |
true |
false |
branch |
|
38
|
246 |
198 |
if (doc->form_data) { |
|
43
|
0 |
198 |
if (!storage) return NULL; |
|
64
|
0 |
88 |
if (!field) return NULL; |
|
81
|
88 |
0 |
if (!form || !field) return PDFMAKE_EINVAL; |
|
|
0 |
88 |
if (!form || !field) return PDFMAKE_EINVAL; |
|
83
|
47 |
41 |
if (form->field_count >= form->field_cap) { |
|
84
|
2 |
45 |
size_t new_cap = form->field_cap ? form->field_cap * 2 : 8; |
|
87
|
0 |
47 |
if (!new_fields) return PDFMAKE_ENOMEM; |
|
89
|
2 |
45 |
if (form->fields) { |
|
108
|
0 |
306 |
if (!doc) return NULL; |
|
111
|
0 |
306 |
if (!storage) return NULL; |
|
121
|
0 |
138 |
if (!doc) return NULL; |
|
124
|
0 |
138 |
if (!storage) return NULL; |
|
126
|
88 |
50 |
if (storage->form) return storage->form; |
|
129
|
0 |
50 |
if (!form) return NULL; |
|
146
|
10 |
0 |
return form ? form->field_count : 0; |
|
151
|
12 |
0 |
if (!form || idx >= form->field_count) return NULL; |
|
|
3 |
9 |
if (!form || idx >= form->field_count) return NULL; |
|
160
|
10 |
0 |
if (!form || !name) return NULL; |
|
|
0 |
10 |
if (!form || !name) return NULL; |
|
162
|
17 |
3 |
for (i = 0; i < form->field_count; i++) { |
|
164
|
17 |
0 |
if (field->full_name && strcmp(field->full_name, name) == 0) { |
|
|
7 |
10 |
if (field->full_name && strcmp(field->full_name, name) == 0) { |
|
167
|
10 |
0 |
if (field->name && strcmp(field->name, name) == 0) { |
|
|
0 |
10 |
if (field->name && strcmp(field->name, name) == 0) { |
|
185
|
0 |
49 |
if (!field) return NULL; |
|
189
|
49 |
0 |
if (form) { |
|
204
|
0 |
8 |
if (!field) return NULL; |
|
206
|
8 |
0 |
field->on_value = pdfmake_arena_strdup(doc->arena, on_value ? on_value : "Yes"); |
|
209
|
8 |
0 |
if (form) { |
|
223
|
0 |
8 |
if (!field) return NULL; |
|
228
|
8 |
0 |
if (form) { |
|
246
|
18 |
0 |
if (!group || group->type != PDFMAKE_FIELD_BUTTON) return NULL; |
|
|
0 |
18 |
if (!group || group->type != PDFMAKE_FIELD_BUTTON) return NULL; |
|
247
|
0 |
18 |
if (!(group->flags & PDFMAKE_FF_RADIO)) return NULL; |
|
253
|
0 |
18 |
if (!option) return NULL; |
|
264
|
18 |
0 |
parent_len = group->full_name ? strlen(group->full_name) : 0; |
|
265
|
18 |
0 |
val_len = value ? strlen(value) : 0; |
|
267
|
18 |
0 |
if (full) { |
|
268
|
18 |
0 |
snprintf(full, parent_len + val_len + 2, "%s.%s", |
|
269
|
18 |
0 |
group->full_name ? group->full_name : "", value ? value : ""); |
|
274
|
7 |
11 |
if (!group->first_child) { |
|
278
|
6 |
11 |
while (last->next_sibling) last = last->next_sibling; |
|
293
|
0 |
11 |
if (!field) return NULL; |
|
295
|
6 |
5 |
if (combo) { |
|
300
|
11 |
0 |
if (form) { |
|
315
|
0 |
9 |
if (!field) return NULL; |
|
321
|
9 |
0 |
if (form) { |
|
335
|
0 |
3 |
if (!field) return NULL; |
|
338
|
3 |
0 |
if (form) { |
|
351
|
7 |
0 |
return field ? field->type : PDFMAKE_FIELD_TEXT; |
|
356
|
9 |
0 |
return field ? field->name : NULL; |
|
361
|
2 |
0 |
return field ? field->full_name : NULL; |
|
366
|
17 |
0 |
return field ? field->value : NULL; |
|
371
|
0 |
40 |
if (!field) return PDFMAKE_EINVAL; |
|
378
|
0 |
2 |
if (!field) return PDFMAKE_EINVAL; |
|
385
|
16 |
0 |
return field ? field->flags : 0; |
|
390
|
0 |
1 |
if (!field) return PDFMAKE_EINVAL; |
|
397
|
0 |
19 |
if (!field) return PDFMAKE_EINVAL; |
|
404
|
0 |
8 |
if (!field) return PDFMAKE_EINVAL; |
|
411
|
0 |
26 |
if (!field) return PDFMAKE_EINVAL; |
|
418
|
0 |
6 |
if (!field) return PDFMAKE_EINVAL; |
|
425
|
0 |
3 |
if (!field) return PDFMAKE_EINVAL; |
|
436
|
5 |
0 |
return field ? field->option_count : 0; |
|
441
|
5 |
0 |
if (!field || idx >= field->option_count) return NULL; |
|
|
0 |
5 |
if (!field || idx >= field->option_count) return NULL; |
|
449
|
5 |
0 |
if (!field || idx >= field->option_count) return NULL; |
|
|
0 |
5 |
if (!field || idx >= field->option_count) return NULL; |
|
451
|
2 |
3 |
return exp ? exp : field->options[idx].display; |
|
458
|
32 |
0 |
if (!field || !display) return PDFMAKE_EINVAL; |
|
|
0 |
32 |
if (!field || !display) return PDFMAKE_EINVAL; |
|
459
|
0 |
32 |
if (field->type != PDFMAKE_FIELD_CHOICE) return PDFMAKE_EINVAL; |
|
461
|
10 |
22 |
if (field->option_count >= field->option_cap) { |
|
462
|
0 |
10 |
size_t new_cap = field->option_cap ? field->option_cap * 2 : 8; |
|
465
|
0 |
10 |
if (!new_opts) return PDFMAKE_ENOMEM; |
|
467
|
0 |
10 |
if (field->options) { |
|
476
|
20 |
12 |
pdfmake_arena_strdup(field->doc->arena, export_val) : NULL; |
|
488
|
70 |
0 |
if (!page || !field) return PDFMAKE_EINVAL; |
|
|
0 |
70 |
if (!page || !field) return PDFMAKE_EINVAL; |
|
519
|
0 |
49 |
if (stream.kind != PDFMAKE_STREAM) return stream; |
|
594
|
15 |
12 |
if (field->value && field->value[0]) { |
|
|
15 |
0 |
if (field->value && field->value[0]) { |
|
596
|
15 |
0 |
pdfmake_buf_appendf(&buf, "%s\n", field->da ? field->da : DEFAULT_DA); |
|
603
|
0 |
15 |
if (field->quadding == PDFMAKE_QUADDING_CENTER) { |
|
606
|
0 |
15 |
} else if (field->quadding == PDFMAKE_QUADDING_RIGHT) { |
|
614
|
150 |
15 |
for (p = field->value; *p; p++) { |
|
615
|
150 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
150 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
0 |
150 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
647
|
0 |
8 |
double size = (width < height ? width : height) - 2; |
|
709
|
4 |
4 |
on_name = field->on_value ? field->on_value : "Yes"; |
|
763
|
6 |
0 |
if (field->value && field->value[0]) { |
|
|
6 |
0 |
if (field->value && field->value[0]) { |
|
771
|
37 |
6 |
for (p = field->value; *p; p++) { |
|
772
|
37 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
37 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
0 |
37 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
799
|
1 |
0 |
if (!field || !field->doc) return PDFMAKE_EINVAL; |
|
|
0 |
1 |
if (!field || !field->doc) return PDFMAKE_EINVAL; |
|
815
|
0 |
0 |
if (field->flags & PDFMAKE_FF_PUSHBUTTON) { |
|
839
|
0 |
10 |
if (!form) return PDFMAKE_EINVAL; |
|
880
|
41 |
0 |
if (field->name) { |
|
890
|
23 |
18 |
if (field->value) { |
|
894
|
9 |
14 |
if (field->type == PDFMAKE_FIELD_BUTTON && !(field->flags & PDFMAKE_FF_PUSHBUTTON)) { |
|
|
3 |
6 |
if (field->type == PDFMAKE_FIELD_BUTTON && !(field->flags & PDFMAKE_FF_PUSHBUTTON)) { |
|
906
|
2 |
39 |
if (field->default_val) { |
|
916
|
22 |
19 |
if (field->flags) { |
|
924
|
41 |
0 |
if (field->da) { |
|
934
|
0 |
41 |
if (field->quadding != PDFMAKE_QUADDING_LEFT) { |
|
942
|
19 |
22 |
if (field->type == PDFMAKE_FIELD_TEXT && field->max_len > 0) { |
|
|
1 |
18 |
if (field->type == PDFMAKE_FIELD_TEXT && field->max_len > 0) { |
|
950
|
7 |
34 |
if (field->type == PDFMAKE_FIELD_CHOICE && field->option_count > 0) { |
|
|
7 |
0 |
if (field->type == PDFMAKE_FIELD_CHOICE && field->option_count > 0) { |
|
957
|
23 |
7 |
for (i = 0; i < field->option_count; i++) { |
|
958
|
14 |
9 |
if (field->options[i].export_val) { |
|
1001
|
22 |
19 |
if (field->type == PDFMAKE_FIELD_TEXT || field->type == PDFMAKE_FIELD_CHOICE) { |
|
|
7 |
15 |
if (field->type == PDFMAKE_FIELD_TEXT || field->type == PDFMAKE_FIELD_CHOICE) { |
|
1041
|
6 |
8 |
if (field->flags & PDFMAKE_FF_PUSHBUTTON) { |
|
1059
|
14 |
27 |
if (field->type == PDFMAKE_FIELD_BUTTON && !(field->flags & PDFMAKE_FF_PUSHBUTTON)) { |
|
|
8 |
6 |
if (field->type == PDFMAKE_FIELD_BUTTON && !(field->flags & PDFMAKE_FF_PUSHBUTTON)) { |
|
1064
|
2 |
1 |
state = (field->value && field->on_value && |
|
1065
|
2 |
0 |
strcmp(field->value, field->on_value) == 0) |
|
1066
|
3 |
5 |
? field->on_value : "Off"; |
|
1071
|
40 |
1 |
if (field->page && field->page->page_num) { |
|
|
0 |
40 |
if (field->page && field->page->page_num) { |
|
1080
|
2 |
39 |
if (field->action_uri) { |
|
1095
|
0 |
39 |
} else if (field->action_url) { |
|
1114
|
1 |
38 |
} else if (field->action_reset) { |
|
1125
|
0 |
38 |
} else if (field->action_js) { |
|
1147
|
40 |
1 |
if (field->page) { |
|
1176
|
14 |
0 |
if (!form || !form->doc) return PDFMAKE_EINVAL; |
|
|
0 |
14 |
if (!form || !form->doc) return PDFMAKE_EINVAL; |
|
1177
|
0 |
14 |
if (form->form_num) return PDFMAKE_OK; /* Already finalized */ |
|
1184
|
44 |
14 |
for (i = 0; i < form->field_count; i++) { |
|
1186
|
3 |
41 |
if (f->flattened) continue; |
|
1188
|
0 |
41 |
if (err != PDFMAKE_OK) return err; |
|
1189
|
41 |
0 |
if (f->field_num) live_fields++; |
|
1193
|
3 |
11 |
if (live_fields == 0) return PDFMAKE_OK; |
|
1202
|
41 |
11 |
for (i = 0; i < form->field_count; i++) { |
|
1203
|
41 |
0 |
if (form->fields[i]->field_num) { |
|
1211
|
11 |
0 |
if (form->da) { |
|
1221
|
4 |
7 |
if (form->need_appearances) { |
|
1291
|
0 |
5 |
if (!field) return PDFMAKE_EINVAL; |
|
1292
|
0 |
5 |
if (!field->page) return PDFMAKE_EINVAL; /* Field must be on a page */ |
|
1308
|
3 |
2 |
if (page->has_content && page->contents_num > 0) { |
|
|
3 |
0 |
if (page->has_content && page->contents_num > 0) { |
|
1310
|
3 |
0 |
if (stream_obj && stream_obj->kind == PDFMAKE_STREAM) { |
|
|
3 |
0 |
if (stream_obj && stream_obj->kind == PDFMAKE_STREAM) { |
|
1313
|
1 |
2 |
if (sdata && slen > 0) { |
|
|
1 |
0 |
if (sdata && slen > 0) { |
|
1315
|
1 |
0 |
if (old_content) { |
|
1325
|
0 |
5 |
if (!c) { free(old_content); return PDFMAKE_ENOMEM; } |
|
1328
|
1 |
4 |
if (old_content && old_len > 0) { |
|
|
1 |
0 |
if (old_content && old_len > 0) { |
|
1353
|
3 |
1 |
if (field->value && field->value[0]) { |
|
|
3 |
0 |
if (field->value && field->value[0]) { |
|
1355
|
3 |
0 |
pdfmake_buf_appendf(buf, "%s\n", field->da ? field->da : DEFAULT_DA); |
|
1360
|
0 |
3 |
if (field->quadding == PDFMAKE_QUADDING_CENTER) { |
|
1362
|
0 |
3 |
} else if (field->quadding == PDFMAKE_QUADDING_RIGHT) { |
|
1368
|
29 |
3 |
for (p = field->value; *p; p++) { |
|
1369
|
29 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
29 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
0 |
29 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
1380
|
0 |
1 |
if (field->flags & PDFMAKE_FF_PUSHBUTTON) { |
|
1388
|
0 |
0 |
if (field->value && field->value[0]) { |
|
|
0 |
0 |
if (field->value && field->value[0]) { |
|
1393
|
0 |
0 |
for (p = field->value; *p; p++) { |
|
1394
|
0 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
0 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
0 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
1403
|
0 |
1 |
size = (width < height ? width : height) - 2; |
|
1411
|
1 |
0 |
on_val = field->on_value ? field->on_value : "Yes"; |
|
1412
|
0 |
1 |
if (field->value && strcmp(field->value, "Off") != 0 && |
|
|
0 |
0 |
if (field->value && strcmp(field->value, "Off") != 0 && |
|
1413
|
0 |
0 |
strcmp(field->value, on_val) == 0) { |
|
1461
|
0 |
3 |
if (!form) return PDFMAKE_EINVAL; |
|
1463
|
4 |
3 |
for (i = 0; i < form->field_count; i++) { |
|
1465
|
0 |
4 |
if (err != PDFMAKE_OK) return err; |
|
1481
|
3 |
0 |
if (!form || !out) return PDFMAKE_EINVAL; |
|
|
0 |
3 |
if (!form || !out) return PDFMAKE_EINVAL; |
|
1491
|
6 |
3 |
for (i = 0; i < form->field_count; i++) { |
|
1493
|
0 |
6 |
if (!field->full_name) continue; |
|
1494
|
1 |
5 |
if (field->flags & PDFMAKE_FF_NOEXPORT) continue; /* Skip noexport fields */ |
|
1498
|
5 |
0 |
if (field->value) { |
|
1499
|
1 |
4 |
if (field->type == PDFMAKE_FIELD_BUTTON && |
|
1500
|
0 |
1 |
!(field->flags & PDFMAKE_FF_PUSHBUTTON)) { |
|
1504
|
41 |
5 |
for (p = field->value; *p; p++) { |
|
1505
|
41 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
41 |
0 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
|
0 |
41 |
if (*p == '(' || *p == ')' || *p == '\\') { |
|
1533
|
3 |
0 |
if (!form || !out) return PDFMAKE_EINVAL; |
|
|
0 |
3 |
if (!form || !out) return PDFMAKE_EINVAL; |
|
1541
|
6 |
3 |
for (i = 0; i < form->field_count; i++) { |
|
1543
|
0 |
6 |
if (!field->full_name) continue; |
|
1544
|
1 |
5 |
if (field->flags & PDFMAKE_FF_NOEXPORT) continue; /* Skip noexport fields */ |
|
1547
|
5 |
0 |
if (field->value) { |
|
1575
|
1 |
0 |
if (!form || !data || len == 0) return PDFMAKE_EINVAL; |
|
|
1 |
0 |
if (!form || !data || len == 0) return PDFMAKE_EINVAL; |
|
|
0 |
1 |
if (!form || !data || len == 0) return PDFMAKE_EINVAL; |
|
1579
|
0 |
1 |
if (!buf) return PDFMAKE_ENOMEM; |
|
1587
|
3 |
0 |
while (p < end) { |
|
1593
|
2 |
1 |
if (!t_pos || t_pos >= end) break; |
|
|
2 |
0 |
if (!t_pos || t_pos >= end) break; |
|
1598
|
2 |
0 |
while (t_pos < end && (*t_pos == ' ' || *t_pos == '\n' || *t_pos == '\r')) |
|
|
0 |
2 |
while (t_pos < end && (*t_pos == ' ' || *t_pos == '\n' || *t_pos == '\r')) |
|
|
0 |
2 |
while (t_pos < end && (*t_pos == ' ' || *t_pos == '\n' || *t_pos == '\r')) |
|
|
0 |
2 |
while (t_pos < end && (*t_pos == ' ' || *t_pos == '\n' || *t_pos == '\r')) |
|
1601
|
0 |
2 |
if (t_pos >= end) break; |
|
1604
|
2 |
0 |
if (*t_pos == '(') { |
|
1610
|
19 |
0 |
while (t_pos < end && i < sizeof(field_name) - 1) { |
|
|
19 |
0 |
while (t_pos < end && i < sizeof(field_name) - 1) { |
|
1611
|
0 |
19 |
if (escape) { |
|
1614
|
0 |
19 |
} else if (*t_pos == '\\') { |
|
1616
|
2 |
17 |
} else if (*t_pos == ')') { |
|
1624
|
0 |
0 |
} else if (*t_pos == '/') { |
|
1629
|
0 |
0 |
while (t_pos < end && i < sizeof(field_name) - 1 && |
|
1630
|
0 |
0 |
*t_pos != ' ' && *t_pos != '/' && *t_pos != '>' && |
|
|
0 |
0 |
*t_pos != ' ' && *t_pos != '/' && *t_pos != '>' && |
|
|
0 |
0 |
*t_pos != ' ' && *t_pos != '/' && *t_pos != '>' && |
|
1631
|
0 |
0 |
*t_pos != '\n' && *t_pos != '\r') { |
|
|
0 |
0 |
*t_pos != '\n' && *t_pos != '\r') { |
|
|
0 |
0 |
*t_pos != '\n' && *t_pos != '\r') { |
|
1637
|
0 |
2 |
if (!field_name[0]) { |
|
1644
|
2 |
0 |
if (!v_pos || v_pos >= end) { |
|
|
0 |
2 |
if (!v_pos || v_pos >= end) { |
|
1651
|
1 |
1 |
if (next_field && next_field < v_pos) { |
|
|
0 |
1 |
if (next_field && next_field < v_pos) { |
|
1659
|
2 |
0 |
while (v_pos < end && (*v_pos == ' ' || *v_pos == '\n' || *v_pos == '\r')) |
|
|
0 |
2 |
while (v_pos < end && (*v_pos == ' ' || *v_pos == '\n' || *v_pos == '\r')) |
|
|
0 |
2 |
while (v_pos < end && (*v_pos == ' ' || *v_pos == '\n' || *v_pos == '\r')) |
|
|
0 |
2 |
while (v_pos < end && (*v_pos == ' ' || *v_pos == '\n' || *v_pos == '\r')) |
|
1662
|
0 |
2 |
if (v_pos >= end) { |
|
1668
|
2 |
0 |
if (*v_pos == '(') { |
|
1675
|
11 |
0 |
while (v_pos < end && i < sizeof(value) - 1 && paren_depth > 0) { |
|
|
11 |
0 |
while (v_pos < end && i < sizeof(value) - 1 && paren_depth > 0) { |
|
|
9 |
2 |
while (v_pos < end && i < sizeof(value) - 1 && paren_depth > 0) { |
|
1676
|
0 |
9 |
if (escape) { |
|
1679
|
0 |
9 |
} else if (*v_pos == '\\') { |
|
1681
|
0 |
9 |
} else if (*v_pos == '(') { |
|
1684
|
2 |
7 |
} else if (*v_pos == ')') { |
|
1686
|
0 |
2 |
if (paren_depth > 0) value[i++] = *v_pos; |
|
1693
|
0 |
0 |
} else if (*v_pos == '/') { |
|
1698
|
0 |
0 |
while (v_pos < end && i < sizeof(value) - 1 && |
|
1699
|
0 |
0 |
*v_pos != ' ' && *v_pos != '/' && *v_pos != '>' && |
|
|
0 |
0 |
*v_pos != ' ' && *v_pos != '/' && *v_pos != '>' && |
|
|
0 |
0 |
*v_pos != ' ' && *v_pos != '/' && *v_pos != '>' && |
|
1700
|
0 |
0 |
*v_pos != '\n' && *v_pos != '\r') { |
|
|
0 |
0 |
*v_pos != '\n' && *v_pos != '\r') { |
|
|
0 |
0 |
*v_pos != '\n' && *v_pos != '\r') { |
|
1708
|
2 |
0 |
if (field) { |
|
1737
|
1 |
0 |
if (!form || !data || len == 0) return PDFMAKE_EINVAL; |
|
|
1 |
0 |
if (!form || !data || len == 0) return PDFMAKE_EINVAL; |
|
|
0 |
1 |
if (!form || !data || len == 0) return PDFMAKE_EINVAL; |
|
1741
|
0 |
1 |
if (!buf) return PDFMAKE_ENOMEM; |
|
1749
|
3 |
0 |
while (p < end) { |
|
1754
|
2 |
1 |
if (!field_tag || field_tag >= end) break; |
|
|
2 |
0 |
if (!field_tag || field_tag >= end) break; |
|
1760
|
2 |
0 |
if (!name_attr || name_attr >= end) { |
|
|
0 |
2 |
if (!name_attr || name_attr >= end) { |
|
1769
|
14 |
0 |
while (name_attr < end && *name_attr != '"' && i < sizeof(field_name) - 1) { |
|
|
12 |
2 |
while (name_attr < end && *name_attr != '"' && i < sizeof(field_name) - 1) { |
|
|
12 |
0 |
while (name_attr < end && *name_attr != '"' && i < sizeof(field_name) - 1) { |
|
1771
|
0 |
12 |
if (*name_attr == '&') { |
|
1772
|
0 |
0 |
if (strncmp(name_attr, "&", 5) == 0) { |
|
1775
|
0 |
0 |
} else if (strncmp(name_attr, "<", 4) == 0) { |
|
1778
|
0 |
0 |
} else if (strncmp(name_attr, ">", 4) == 0) { |
|
1781
|
0 |
0 |
} else if (strncmp(name_attr, """, 6) == 0) { |
|
1784
|
0 |
0 |
} else if (strncmp(name_attr, "'", 6) == 0) { |
|
1796
|
0 |
2 |
if (!field_name[0]) { |
|
1803
|
2 |
0 |
if (!value_tag || value_tag >= end) { |
|
|
0 |
2 |
if (!value_tag || value_tag >= end) { |
|
1806
|
0 |
0 |
if (field_end && field_end < end) { |
|
|
0 |
0 |
if (field_end && field_end < end) { |
|
1818
|
2 |
0 |
if (!value_end || value_end >= end) { |
|
|
0 |
2 |
if (!value_end || value_end >= end) { |
|
1827
|
25 |
2 |
while (vp < value_end && i < sizeof(value) - 1) { |
|
|
25 |
0 |
while (vp < value_end && i < sizeof(value) - 1) { |
|
1828
|
1 |
24 |
if (*vp == '&') { |
|
1829
|
1 |
0 |
if (strncmp(vp, "&", 5) == 0) { |
|
1832
|
0 |
0 |
} else if (strncmp(vp, "<", 4) == 0) { |
|
1835
|
0 |
0 |
} else if (strncmp(vp, ">", 4) == 0) { |
|
1838
|
0 |
0 |
} else if (strncmp(vp, """, 6) == 0) { |
|
1841
|
0 |
0 |
} else if (strncmp(vp, "'", 6) == 0) { |
|
1844
|
0 |
0 |
} else if (strncmp(vp, "", 2) == 0) { |
|
1848
|
0 |
0 |
if (*vp == 'x' || *vp == 'X') { |
|
|
0 |
0 |
if (*vp == 'x' || *vp == 'X') { |
|
1850
|
0 |
0 |
while (vp < value_end && *vp != ';') { |
|
|
0 |
0 |
while (vp < value_end && *vp != ';') { |
|
1851
|
0 |
0 |
if (*vp >= '0' && *vp <= '9') |
|
|
0 |
0 |
if (*vp >= '0' && *vp <= '9') |
|
1853
|
0 |
0 |
else if (*vp >= 'a' && *vp <= 'f') |
|
|
0 |
0 |
else if (*vp >= 'a' && *vp <= 'f') |
|
1855
|
0 |
0 |
else if (*vp >= 'A' && *vp <= 'F') |
|
|
0 |
0 |
else if (*vp >= 'A' && *vp <= 'F') |
|
1860
|
0 |
0 |
while (vp < value_end && *vp != ';') { |
|
|
0 |
0 |
while (vp < value_end && *vp != ';') { |
|
1861
|
0 |
0 |
if (*vp >= '0' && *vp <= '9') |
|
|
0 |
0 |
if (*vp >= '0' && *vp <= '9') |
|
1866
|
0 |
0 |
if (code > 0 && code < 128) value[i++] = (char)code; |
|
|
0 |
0 |
if (code > 0 && code < 128) value[i++] = (char)code; |
|
1867
|
0 |
0 |
if (vp < value_end && *vp == ';') vp++; |
|
|
0 |
0 |
if (vp < value_end && *vp == ';') vp++; |
|
1879
|
2 |
0 |
if (field) { |
|
1901
|
0 |
0 |
if (!dict || !key_name) return NULL; |
|
|
0 |
0 |
if (!dict || !key_name) return NULL; |
|
1905
|
0 |
0 |
for (i = 0; i < dict->cap; i++) { |
|
1906
|
0 |
0 |
if (dict->entries[i].key == key_id && !dict->entries[i].deleted) { |
|
|
0 |
0 |
if (dict->entries[i].key == key_id && !dict->entries[i].deleted) { |
|
1916
|
0 |
0 |
if (!obj || !buf) return NULL; |
|
|
0 |
0 |
if (!obj || !buf) return NULL; |
|
1918
|
0 |
0 |
if (obj->kind == PDFMAKE_STR) { |
|
1923
|
0 |
0 |
} else if (obj->kind == PDFMAKE_NAME) { |
|
1933
|
0 |
0 |
if (!obj) return NULL; |
|
1934
|
0 |
0 |
if (obj->kind == PDFMAKE_REF) { |
|
1962
|
0 |
0 |
if (!form || !field_obj) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!form || !field_obj) return PDFMAKE_EINVAL; |
|
1969
|
0 |
0 |
if (!field_obj || field_obj->kind != PDFMAKE_DICT) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!field_obj || field_obj->kind != PDFMAKE_DICT) return PDFMAKE_EINVAL; |
|
1976
|
0 |
0 |
if (ft_obj && ft_obj->kind == PDFMAKE_NAME) { |
|
1986
|
0 |
0 |
if (rect_obj && rect_obj->kind == PDFMAKE_ARRAY && rect_obj->as.arr->len >= 4) { |
|
|
0 |
0 |
if (rect_obj && rect_obj->kind == PDFMAKE_ARRAY && rect_obj->as.arr->len >= 4) { |
|
|
0 |
0 |
if (rect_obj && rect_obj->kind == PDFMAKE_ARRAY && rect_obj->as.arr->len >= 4) { |
|
1988
|
0 |
0 |
if (arr->items[0].kind == PDFMAKE_REAL || arr->items[0].kind == PDFMAKE_INT) |
|
|
0 |
0 |
if (arr->items[0].kind == PDFMAKE_REAL || arr->items[0].kind == PDFMAKE_INT) |
|
1989
|
0 |
0 |
rect.x1 = arr->items[0].kind == PDFMAKE_REAL ? arr->items[0].as.r : arr->items[0].as.i; |
|
1990
|
0 |
0 |
if (arr->items[1].kind == PDFMAKE_REAL || arr->items[1].kind == PDFMAKE_INT) |
|
|
0 |
0 |
if (arr->items[1].kind == PDFMAKE_REAL || arr->items[1].kind == PDFMAKE_INT) |
|
1991
|
0 |
0 |
rect.y1 = arr->items[1].kind == PDFMAKE_REAL ? arr->items[1].as.r : arr->items[1].as.i; |
|
1992
|
0 |
0 |
if (arr->items[2].kind == PDFMAKE_REAL || arr->items[2].kind == PDFMAKE_INT) |
|
|
0 |
0 |
if (arr->items[2].kind == PDFMAKE_REAL || arr->items[2].kind == PDFMAKE_INT) |
|
1993
|
0 |
0 |
rect.x2 = arr->items[2].kind == PDFMAKE_REAL ? arr->items[2].as.r : arr->items[2].as.i; |
|
1994
|
0 |
0 |
if (arr->items[3].kind == PDFMAKE_REAL || arr->items[3].kind == PDFMAKE_INT) |
|
|
0 |
0 |
if (arr->items[3].kind == PDFMAKE_REAL || arr->items[3].kind == PDFMAKE_INT) |
|
1995
|
0 |
0 |
rect.y2 = arr->items[3].kind == PDFMAKE_REAL ? arr->items[3].as.r : arr->items[3].as.i; |
|
2000
|
0 |
0 |
if (!field) return PDFMAKE_ENOMEM; |
|
2007
|
0 |
0 |
if (v_obj) { |
|
2009
|
0 |
0 |
if (get_string_value(v_obj, value_buf, sizeof(value_buf))) { |
|
2016
|
0 |
0 |
if (ff_obj && ff_obj->kind == PDFMAKE_INT) { |
|
|
0 |
0 |
if (ff_obj && ff_obj->kind == PDFMAKE_INT) { |
|
2022
|
0 |
0 |
if (da_obj) { |
|
2024
|
0 |
0 |
if (get_string_value(da_obj, da_buf, sizeof(da_buf))) { |
|
2031
|
0 |
0 |
if (q_obj && q_obj->kind == PDFMAKE_INT) { |
|
|
0 |
0 |
if (q_obj && q_obj->kind == PDFMAKE_INT) { |
|
2040
|
0 |
0 |
if (kids_obj) { |
|
2042
|
0 |
0 |
if (kids_obj && kids_obj->kind == PDFMAKE_ARRAY) { |
|
|
0 |
0 |
if (kids_obj && kids_obj->kind == PDFMAKE_ARRAY) { |
|
2043
|
0 |
0 |
for (i = 0; i < kids_obj->as.arr->len; i++) { |
|
2066
|
0 |
0 |
if (!form) return PDFMAKE_EINVAL; |
|
2072
|
0 |
0 |
if (doc->root_num == 0) return PDFMAKE_EINVAL; |
|
2075
|
0 |
0 |
if (!catalog || catalog->kind != PDFMAKE_DICT) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!catalog || catalog->kind != PDFMAKE_DICT) return PDFMAKE_EINVAL; |
|
2079
|
0 |
0 |
if (!acroform_obj) return PDFMAKE_OK; /* No form - not an error */ |
|
2082
|
0 |
0 |
if (!acroform_obj || acroform_obj->kind != PDFMAKE_DICT) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!acroform_obj || acroform_obj->kind != PDFMAKE_DICT) return PDFMAKE_EINVAL; |
|
2088
|
0 |
0 |
if (da_obj) { |
|
2090
|
0 |
0 |
if (get_string_value(da_obj, da_buf, sizeof(da_buf))) { |
|
2097
|
0 |
0 |
if (na_obj && na_obj->kind == PDFMAKE_BOOL) { |
|
|
0 |
0 |
if (na_obj && na_obj->kind == PDFMAKE_BOOL) { |
|
2103
|
0 |
0 |
if (sf_obj && sf_obj->kind == PDFMAKE_INT) { |
|
|
0 |
0 |
if (sf_obj && sf_obj->kind == PDFMAKE_INT) { |
|
2109
|
0 |
0 |
if (!fields_obj) return PDFMAKE_OK; /* No fields */ |
|
2112
|
0 |
0 |
if (!fields_obj || fields_obj->kind != PDFMAKE_ARRAY) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!fields_obj || fields_obj->kind != PDFMAKE_ARRAY) return PDFMAKE_EINVAL; |
|
2115
|
0 |
0 |
for (i = 0; i < fields_obj->as.arr->len; i++) { |
|
2117
|
0 |
0 |
if (err != PDFMAKE_OK) return err; |