X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fjdatasrc.cxx;h=cfb526abd8593898d18c825923ecb1f799227669;hb=e7768bbebdc9a5972e396d71a3e848f5674ee378;hp=c0fb1220d5b923a6e5674effcc40f0e58c42434d;hpb=0e0403151bbff57175d2b974ee2d14b8195f9234;p=gdcm.git diff --git a/src/jdatasrc.cxx b/src/jdatasrc.cxx index c0fb1220..cfb526ab 100644 --- a/src/jdatasrc.cxx +++ b/src/jdatasrc.cxx @@ -1,5 +1,5 @@ /* - * jdatasrc.c + * jdatasrc.cxx * * Copyright (C) 1994-1996, Thomas G. Lane. * This file is part of the Independent JPEG Group's software. @@ -18,14 +18,20 @@ /* Expanded data source object for stdio input */ +extern "C" { + typedef boolean(*boolean_jpeg_decompress_struct)(jpeg_decompress_struct*); + typedef void(*void_jpeg_decompress_struct)(jpeg_decompress_struct*); + typedef void(*void_jpeg_decompress_struct_long)(jpeg_decompress_struct*,long); +} + typedef struct { struct jpeg_source_mgr pub; /* public fields */ - std::ifstream *infile; /* source stream */ + std::istream *infile; /* source stream */ JOCTET * buffer; /* start of buffer */ boolean start_of_file; /* have we gotten any data yet? */ - gdcm::JPEGFragment *frag; + GDCM_NAME_SPACE::JPEGFragment *frag; size_t bytes_read; } my_source_mgr; @@ -192,7 +198,7 @@ term_source (j_decompress_ptr cinfo) */ GLOBAL(void) -jpeg_stdio_src (j_decompress_ptr cinfo, std::ifstream * infile, gdcm::JPEGFragment *frag, int flag) +jpeg_stdio_src (j_decompress_ptr cinfo, std::istream * infile, GDCM_NAME_SPACE::JPEGFragment *frag, int flag) { my_src_ptr src; @@ -214,11 +220,11 @@ jpeg_stdio_src (j_decompress_ptr cinfo, std::ifstream * infile, gdcm::JPEGFragme } src = (my_src_ptr) cinfo->src; - src->pub.init_source = init_source; - src->pub.fill_input_buffer = fill_input_buffer; - src->pub.skip_input_data = skip_input_data; + src->pub.init_source = reinterpret_cast(init_source); + src->pub.fill_input_buffer = reinterpret_cast(fill_input_buffer); + src->pub.skip_input_data = reinterpret_cast(skip_input_data); src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ - src->pub.term_source = term_source; + src->pub.term_source = reinterpret_cast(term_source); src->infile = infile; // Need to setup a new buffer, clean bytes_in_buffer and next_input_byte