summaryrefslogtreecommitdiff
path: root/fonts/utilities/ps2mf/myopen.c
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/utilities/ps2mf/myopen.c
Initial commit
Diffstat (limited to 'fonts/utilities/ps2mf/myopen.c')
-rw-r--r--fonts/utilities/ps2mf/myopen.c42
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);
+}
+