/* cbigopen.c for Linux */ #include # define __USE_LARGEFILE64 1 /* open() needs the following, maybe */ #include #include #include #include "cbigopen.h" FILE* cBigOpenR(char inName[]) { int fid; FILE* inFd; /* inFd=fopen(inName, "r"); */ fid = open(inName, (O_LARGEFILE | O_RDONLY)); if (fid < 0) { fprintf(stderr, "cBigOpenR(inName) for input failed\n"); inFd = NULL; } else inFd = fdopen(fid, "r"); return inFd; } FILE* cBigOpenW(char outName[]) { int fid; FILE* outFd; /* outFd=fopen(outName, "w"); */ fid = open(outName, (O_LARGEFILE | O_WRONLY|O_CREAT|O_TRUNC), S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); if (fid < 0) { fprintf(stderr, "cBigOpenW(outName) for output failed\n"); outFd = NULL; } else outFd = fdopen(fid, "w"); return outFd; }