diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/utilities/ps2mf/myopen.c |
Initial commit
Diffstat (limited to 'fonts/utilities/ps2mf/myopen.c')
-rw-r--r-- | fonts/utilities/ps2mf/myopen.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/fonts/utilities/ps2mf/myopen.c b/fonts/utilities/ps2mf/myopen.c new file mode 100644 index 0000000000..32d6f7378b --- /dev/null +++ b/fonts/utilities/ps2mf/myopen.c @@ -0,0 +1,42 @@ +/* myopen.c */ + +#include <stdio.h> +#ifndef AIX +# include <stdlib.h> +#endif +#include <string.h> +#include "defines.h" +#include "myopen.h" +#include "mymalloc.h" +#include "myerror.h" + +#ifdef __STDC__ +FILE * my_open (char * file_name, char * extension , char * mode) +#else +FILE * my_open (file_name, extension, mode) +char * file_name, * extension, * mode; +#endif +{ + char * tmp_file_name; + int i, lastext; + FILE * out_file; + + tmp_file_name = (char *) my_malloc (sizeof (char) + * (strlen (file_name) + 5)); + strcpy (tmp_file_name, file_name); + lastext = -1; + for (i = 0; tmp_file_name [i]; i ++) + if (tmp_file_name [i] == '.') lastext = i; + else + if (tmp_file_name [i] == '/') lastext = -1; + if (lastext == -1) strcat (tmp_file_name, extension); + if ((out_file = fopen (tmp_file_name, mode)) == NULL) + { + fprintf (stderr, "Cannot open %s for %s\n", tmp_file_name, + mode [0] == 'r' ? "reading" : "writing"); + exit (UNSUCCESSFUL); + } + free (tmp_file_name); + return (out_file); +} + |