From: Jack Jansen Date: Mon, 7 Aug 1995 14:02:12 +0000 (+0000) Subject: Mwerks version of fopenRF. X-Git-Tag: v1.3b1~114 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=426fa79a7d653599436cc5d144f34e33b80d9d28;p=thirdparty%2FPython%2Fcpython.git Mwerks version of fopenRF. --- diff --git a/Mac/mwerks/mwfopenrf.c b/Mac/mwerks/mwfopenrf.c new file mode 100644 index 000000000000..fa2a39b0c0e8 --- /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__ */