X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmmpeg2%2Fsrc%2Fmpeg2dec%2Fmpeg2dec.c;h=ea6d164810c138eab19c098ba5154e2fae238ea4;hb=49b121630e9d2209696969851f27a0976226977a;hp=9cf11c9ec8915d976203fc5a11308e9f1e1366f9;hpb=3c6a904a83c26b203d7f2d2fb35f4edc30ef140c;p=gdcm.git diff --git a/src/gdcmmpeg2/src/mpeg2dec/mpeg2dec.c b/src/gdcmmpeg2/src/mpeg2dec/mpeg2dec.c index 9cf11c9e..ea6d1648 100644 --- a/src/gdcmmpeg2/src/mpeg2dec/mpeg2dec.c +++ b/src/gdcmmpeg2/src/mpeg2dec/mpeg2dec.c @@ -62,6 +62,7 @@ int my_open(char *filename) { return open(filename,O_RDONLY|O_BINARY); } + off_t my_seek(int infile, off_t offset,int whence) { return lseek(infile, offset, whence); @@ -75,34 +76,58 @@ int my_close(int infile) return close(infile); } -ostream *my_fopen(const char *path, const char *mode) +int my_fopenr(const char *path, const char *mode, istream *os) { FILE *fd = fopen(path, mode); - ostream *os = (ostream*)malloc(sizeof(ostream)); - os->Fd = fd; - return os; + if(fd) + { + os->InFd = fd; + return 1; //success + } + else + os->InFd = NULL; + return 0; +} + +int my_fopen(const char *path, const char *mode, ostream *os) +{ + FILE *fd = fopen(path, mode); + if(fd) + { + os->OutFd = fd; + return 1; //success + } + else + os->OutFd = NULL; + return 0; } int my_fseek(ostream *stream, long offset, int whence) { - return fseek(stream->Fd, offset, whence); + return fseek(stream->OutFd, offset, whence); +} +int my_fseekr(istream *stream, long offset, int whence) +{ + return fseek(stream->InFd, offset, whence); } -size_t my_fread(void *ptr, size_t size, size_t nmemb, ostream *stream) +size_t my_fread(void *ptr, size_t size, size_t nmemb, istream *stream) { - return fread(ptr, size, nmemb, stream->Fd); + return fread(ptr, size, nmemb, stream->InFd); } size_t my_fwrite(const void *ptr, size_t size, size_t nmemb, ostream *stream) { - return fwrite(ptr, size, nmemb, stream->Fd); + return fwrite(ptr, size, nmemb, stream->OutFd); } +int my_fcloser(istream *fp) +{ + return fclose(fp->InFd); +} int my_fclose(ostream *fp) { - FILE *fd = fp->Fd; - free(fp); - return fclose(fd); + return fclose(fp->OutFd); } #include