From 426fa79a7d653599436cc5d144f34e33b80d9d28 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Mon, 7 Aug 1995 14:02:12 +0000 Subject: Mwerks version of fopenRF. --- Mac/mwerks/mwfopenrf.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Mac/mwerks/mwfopenrf.c diff --git a/Mac/mwerks/mwfopenrf.c b/Mac/mwerks/mwfopenrf.c new file mode 100644 index 0000000..fa2a39b --- /dev/null +++ b/Mac/mwerks/mwfopenrf.c @@ -0,0 +1,47 @@ +/* +** mwfopenrf - Open resource fork as stdio file for CodeWarrior. +** +** Jack Jansen, CWI, August 1995. +*/ + +#ifdef __MWERKS__ +#include +#include +#include +#include "errno_unix.h" + +FILE * +fopenRF(name, mode) + char *name; + char *mode; +{ + int fd; + FILE *fp; + int modebits = -1; + int extramodebits; + char *modep; + + for(modep=mode; *modep; modep++) { + switch(*modep) { + case 'r': modebits = O_RDONLY; break; + case 'w': modebits = O_WRONLY; extramodebits |= O_CREAT|O_TRUNC; break; + case 'a': modebits = O_RDONLY; + extramodebits |= O_CREAT|O_APPEND; + extramodebits &= ~O_TRUNC; + break; + case '+': modebits = O_RDWR; + extramodebits &= ~O_TRUNC; + break; + case 'b': extramodebits |= O_BINARY; + break; + default: + errno = EINVAL; + return NULL; + } + } + fd = open(name, modebits|extramodebits|O_RSRC); + if ( fd < 0 ) + return NULL; + return fdopen(fd, mode); +} +#endif /* __MWERKS__ */ -- cgit v0.12