~mdw
/
sgt
/
halibut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for an uninitialised structure member spotted by valgrind (probably didn't
[sgt/halibut]
/
bk_pdf.c
diff --git
a/bk_pdf.c
b/bk_pdf.c
index
fa5262a
..
b679875
100644
(file)
--- a/
bk_pdf.c
+++ b/
bk_pdf.c
@@
-64,7
+64,7
@@
void pdf_backend(paragraph *sourceform, keywordlist *keywords,
filename = dupstr("output.pdf");
for (p = sourceform; p; p = p->next) {
filename = dupstr("output.pdf");
for (p = sourceform; p; p = p->next) {
- if (p->type == para_Config
&& p->parent
) {
+ if (p->type == para_Config) {
if (!ustricmp(p->keyword, L"pdf-filename")) {
sfree(filename);
filename = dupstr(adv(p->origkeyword));
if (!ustricmp(p->keyword, L"pdf-filename")) {
sfree(filename);
filename = dupstr(adv(p->origkeyword));
@@
-76,7
+76,10
@@
void pdf_backend(paragraph *sourceform, keywordlist *keywords,
olist.number = 1;
cat = new_object(&olist);
olist.number = 1;
cat = new_object(&olist);
- outlines = new_object(&olist);
+ if (doc->n_outline_elements > 0)
+ outlines = new_object(&olist);
+ else
+ outlines = NULL;
pages = new_object(&olist);
resources = new_object(&olist);
pages = new_object(&olist);
resources = new_object(&olist);
@@
-84,11
+87,16
@@
void pdf_backend(paragraph *sourceform, keywordlist *keywords,
* The catalogue just contains references to the outlines and
* pages objects.
*/
* The catalogue just contains references to the outlines and
* pages objects.
*/
- objtext(cat, "<<\n/Type /Catalog\n/Outlines ");
- objref(cat, outlines);
+ objtext(cat, "<<\n/Type /Catalog");
+ if (outlines) {
+ objtext(cat, "\n/Outlines ");
+ objref(cat, outlines);
+ }
objtext(cat, "\n/Pages ");
objref(cat, pages);
objtext(cat, "\n/Pages ");
objref(cat, pages);
- objtext(cat, "\n/PageMode /UseOutlines\n>>\n");
+ if (outlines)
+ objtext(cat, "\n/PageMode /UseOutlines");
+ objtext(cat, "\n>>\n");
/*
* Set up the resources dictionary, which mostly means
/*
* Set up the resources dictionary, which mostly means
@@
-349,7
+357,7
@@
void pdf_backend(paragraph *sourceform, keywordlist *keywords,
/*
* Set up the outlines dictionary.
*/
/*
* Set up the outlines dictionary.
*/
- {
+
if (outlines)
{
int topcount;
char buf[80];
int topcount;
char buf[80];
@@
-456,7
+464,7
@@
void pdf_backend(paragraph *sourceform, keywordlist *keywords,
static object *new_object(objlist *list)
{
static object *new_object(objlist *list)
{
- object *obj =
mk
new(object);
+ object *obj =
s
new(object);
obj->list = list;
obj->list = list;