diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-05-08 13:35:57 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2016-05-08 13:35:57 +0000 |
commit | d028ec401e5bef3c2504f3fc95d65f632c8cfd53 (patch) | |
tree | f826e3b52256a2e7676c141a89bab47869663c49 /Build/source/texk/dvipdfm-x/dvipdfmx.c | |
parent | 94b4c00918715f1994b4243a377f721bee968a02 (diff) |
dvipdfm-x: patch from M. Hosoda.
git-svn-id: svn://tug.org/texlive/trunk@40941 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/dvipdfmx.c')
-rw-r--r-- | Build/source/texk/dvipdfm-x/dvipdfmx.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx.c b/Build/source/texk/dvipdfm-x/dvipdfmx.c index 393de215a91..644c92cf98c 100644 --- a/Build/source/texk/dvipdfm-x/dvipdfmx.c +++ b/Build/source/texk/dvipdfm-x/dvipdfmx.c @@ -705,6 +705,43 @@ read_config_file (const char *config) MFCLOSE(fp); } +void +read_config_special (const char **start, const char *end) +{ + char *option; + static char argv0[] = "config_special"; + char *argv[3]; + int argc = 1; + + argv[0] = argv0; + + skip_white (start, end); + if (*start >= end) + return; + /* Build up an argument list as if it were passed on the command + line */ + if ((option = parse_ident (start, end))) { + argc = 2; + argv[1] = NEW (strlen(option)+2, char); + strcpy (argv[1]+1, option); + RELEASE (option); + *argv[1] = '-'; + skip_white (start, end); + if (*start < end) { + argc += 1; + if (**start == '"') { + argv[2] = parse_c_string (start, end); + } + else + argv[2] = parse_ident (start, end); + } + } + do_args (argc, argv, argv0); + while (argc > 1) { + RELEASE (argv[--argc]); + } +} + static void system_default (void) { |