diff options
Diffstat (limited to 'nx-X11/extras/ttf2pt1/runt1asm.c')
-rw-r--r-- | nx-X11/extras/ttf2pt1/runt1asm.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nx-X11/extras/ttf2pt1/runt1asm.c b/nx-X11/extras/ttf2pt1/runt1asm.c new file mode 100644 index 000000000..58c4cad8c --- /dev/null +++ b/nx-X11/extras/ttf2pt1/runt1asm.c @@ -0,0 +1,61 @@ +/* + * Wrap-around code to either compile in t1asm or call it externally + * + * Copyright (C) 2000 by Sergey Babkin + * Copyright (C) 2000 by The TTF2PT1 Project + * + * See COPYRIGHT for full license + */ + +#ifdef EXTERNAL_T1ASM + +#include <stdio.h> +#include <errno.h> + +FILE *ifp; +FILE *ofp; + +int +runt1asm( + int pfbflag +) +{ + char *cmd; + int id, od; + int error; + + /* first make a copy in case some of then is already stdin/stdout */ + if(( id = dup(fileno(ifp)) )<0) { + perror("** Re-opening input file for t1asm"); + exit(1); + } + if(( od = dup(fileno(ofp)) )<0) { + perror("** Re-opening output file for t1asm"); + exit(1); + } + fclose(ifp); fclose(ofp); + close(0); + if(( dup(id) )!=0) { + perror("** Re-directing input file for t1asm"); + exit(1); + } + close(1); + if(( dup(od) )!=1) { + perror("** Re-directing output file for t1asm"); + exit(1); + } + close(id); close(od); + + if(pfbflag) + error = execlp("t1asm", "t1asm", "-b", NULL); + else + error = execlp("t1asm", "t1asm", NULL); + + perror("** Calling t1asm"); + + exit(1); +} + +#else +# include "t1asm.c" +#endif |