bottom-margin=2
box[x]="strng" Sets box character X (X in base 4: 0-3333).
+ init="string" Set initialization string.
*/
/* Disable messages by failed range checks. */
int bottom_margin; /* Bottom margin in lines. */
char *box[LNS_COUNT]; /* Line & box drawing characters. */
+ char *init; /* Device initialization string. */
/* Internal state. */
char *file_name; /* Output file name. */
x->bottom_margin = 2;
for (i = 0; i < LNS_COUNT; i++)
x->box[i] = NULL;
+ x->init = NULL;
x->file_name = pool_strdup (x->pool, "pspp.list");
x->file = NULL;
x->page_number = 0;
enum
{
boolean_arg,
- string_arg,
+ emphasis_arg,
nonneg_int_arg,
pos_int_arg,
- output_file_arg
+ output_file_arg,
+ string_arg
};
static const struct outp_option option_tab[] =
{"paginate", boolean_arg, 1},
{"squeeze", boolean_arg, 2},
- {"emphasis", string_arg, 3},
+ {"emphasis", emphasis_arg, 0},
{"output-file", output_file_arg, 0},
{"bottom-margin", nonneg_int_arg, 1},
{"tab-width", nonneg_int_arg, 2},
+ {"init", string_arg, 0},
+
{NULL, 0, 0},
};
}
}
break;
- case string_arg:
+ case emphasis_arg:
if (!strcmp (value, "bold"))
x->emphasis = EMPH_BOLD;
else if (!strcmp (value, "underline"))
}
}
break;
+ case string_arg:
+ free (x->init);
+ x->init = pool_strdup (x->pool, value);
+ break;
default:
NOT_REACHED ();
}
return;
}
pool_attach_file (x->pool, x->file);
+
+ if (x->init != NULL)
+ fputs (x->init, x->file);
}
x->page_number++;