summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/win32/mktexfmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/kpathsea/win32/mktexfmt.c')
-rw-r--r--Build/source/texk/kpathsea/win32/mktexfmt.c140
1 files changed, 0 insertions, 140 deletions
diff --git a/Build/source/texk/kpathsea/win32/mktexfmt.c b/Build/source/texk/kpathsea/win32/mktexfmt.c
deleted file mode 100644
index 169e62f5d3a..00000000000
--- a/Build/source/texk/kpathsea/win32/mktexfmt.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* mktexfmt.c
-
- Copyright 2000, 2017 Akira Kakuto.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- kpathsea functions
-*/
-#include <kpathsea/kpathsea.h>
-
-#define VERSION "0.2"
-
-int main(int ac, char **av)
-{
- int savo, savi;
- FILE *fnul;
- char *fmtname;
- char *p;
- char orgname[256];
-
- char texbindir[256];
- char fullbin[256];
-
- int is_w32tex;
-
- kpse_set_program_name(av[0], NULL);
-
- p = kpse_var_value("jtex_filetype");
-
- if (p) {
- is_w32tex = 1;
- free(p);
- } else {
- is_w32tex = 0;
- }
-
- p = kpse_program_name;
- if(ac != 2) {
- fprintf(stderr,"%s : Usage %s formatname\n", p, p);
- fprintf(stderr,"formatname : (foo.fmt, foo.base, foo.mem)\n");
- return 1;
- }
- if(!strncmp(av[1], "-h", 2) || !strncmp(av[1], "--h", 3)) {
- fprintf(stderr,"%s : Usage %s formatname\n", p, p);
- fprintf(stderr,"formatname : (foo.fmt, foo.base, foo.mem)\n");
- return 0;
- }
- if(!strncmp(av[1], "-v", 2) || !strncmp(av[1], "--v", 3)) {
- fprintf(stderr,"%s : Version %s\n", p, VERSION);
- return 0;
- }
-
- if(strlen(av[1]) > 127) {
- fprintf(stderr, "\nToo long a format name.\n");
- return 100;
- }
-
- p = kpse_var_value("SELFAUTOLOC");
- if(p == 0) {
- fprintf(stderr, "I cannot get SELFAUTOLOC\n");
- exit(1);
- }
- strcpy(texbindir, p);
- free(p);
- for(p=texbindir; *p; p++) {
- if(*p == '/') *p = '\\';
- }
- strcat(texbindir, "\\");
-
- strcpy(orgname, av[1]);
-
- p = strrchr(av[1], '.');
- if(!p) {
- fprintf(stderr, "formatname needs a suffix.\n");
- return 1;
- }
-
- if(stricmp(p, ".fmt") && stricmp(p, ".base") && stricmp(p, ".mem")) {
- fprintf(stderr, "%s : unknown format type.\n", av[1]);
- return 1;
- }
-
- *p = '\0';
-
-/* save stdout and stdin */
- savo = _dup(fileno(stdout));
- savi = _dup(fileno(stdin));
-
-/* connect stdout to stderr */
- _dup2(fileno(stderr), fileno(stdout));
-
-/* connect stdin to nul device */
- if(!(fnul = fopen("nul", "r"))) {
- fprintf(stderr, "Cannot open nul device to read\n");
- exit(100);
- }
- _dup2(fileno(fnul), fileno(stdin));
-
-/* COMMAND */
- strcpy(fullbin, texbindir);
- if (is_w32tex) {
- strcat(fullbin, "fmtutil.exe");
- fprintf(stderr, "Running the command %s\n", fullbin);
- _spawnlp(_P_WAIT, fullbin, "fmtutil", "--byfmt", av[1], NULL);
- } else {
- strcat(fullbin, "fmtutil-user.exe");
- fprintf(stderr, "Running the command %s\n", fullbin);
- _spawnlp(_P_WAIT, fullbin, "fmtutil-user", "--byfmt", av[1], NULL);
- }
-/* END COMMAND */
-
-/* return to original stdout and stdin */
- _dup2(savo, fileno(stdout));
- close(savo);
- _dup2(savi, fileno(stdin));
- close(savi);
-
-/* close nul device */
- fclose(fnul);
-
- fmtname = kpse_find_file(orgname , kpse_fmt_format, 0);
- if(fmtname) {
- printf("%s\n", fmtname);
- free(fmtname);
- }
- return 0;
-}