summaryrefslogtreecommitdiff
path: root/Build/source/texk/psutils/paper-size.c
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-01-18 12:18:03 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-01-18 12:18:03 +0000
commitfcc5958e3f9d8af7d005395de3976398453b7888 (patch)
tree0cabed109746694544291ab15d98cccfd7055002 /Build/source/texk/psutils/paper-size.c
parentde3b07ea3448cc045b7580f8bc24d577aa2b893d (diff)
psutils: Allow comments in config file
git-svn-id: svn://tug.org/texlive/trunk@32712 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/psutils/paper-size.c')
-rw-r--r--Build/source/texk/psutils/paper-size.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/Build/source/texk/psutils/paper-size.c b/Build/source/texk/psutils/paper-size.c
index 0f7dae01ff9..0781d2394ad 100644
--- a/Build/source/texk/psutils/paper-size.c
+++ b/Build/source/texk/psutils/paper-size.c
@@ -20,7 +20,7 @@
#include <paper.h>
#define CONFIG_NAME "paper.cfg"
-#define MAX_PAPER 16
+#define MAX_PAPER 16 /* sufficient for "halfexecutive" */
static char default_paper[MAX_PAPER];
static void
@@ -43,9 +43,17 @@ do_init (void)
die ("can't open config file %s", CONFIG_NAME);
/* In order to specify PAPER as default papersize the config file must
- contain 'p PAPER', optionally followed by a space or end of line
- and a comment. */
- if (fgetc (fp) == 'p' && fgetc (fp) == ' ')
+ contain a line 'p PAPER'. */
+ ch = fgetc (fp);
+ /* skip comment lines */
+ while (ch > 0 && ch != 'p') {
+ while (ch > 0 && ch != '\n' && ch != '\r')
+ ch = fgetc (fp);
+ while (ch == '\n' || ch == '\r')
+ ch = fgetc (fp);
+ }
+ /* read default papersize */
+ if (ch == 'p' && fgetc (fp) == ' ')
while (i < MAX_PAPER - 1 &&
(ch = fgetc (fp)) > 0 && ch != ' ' && ch != '\n' && ch != '\r')
default_paper[i++] = ch;