[trunk] Rework previous commit r2610
[openjpeg.git] / src / lib / openjp2 / openjpeg.c
index 08610c8c74a43c802897dfe8759f7cb13d17293f..dfb8093c4133bc327277a98a10a74fe7c9cc7112 100644 (file)
@@ -94,10 +94,10 @@ static OPJ_UINT64 opj_get_data_length_from_file (FILE * p_file)
        OPJ_OFF_T file_length = 0;
 
        OPJ_FSEEK(p_file, 0, SEEK_END);
-       file_length = (OPJ_UINT64)OPJ_FTELL(p_file);
+       file_length = (OPJ_OFF_T)OPJ_FTELL(p_file);
        OPJ_FSEEK(p_file, 0, SEEK_SET);
 
-       return file_length;
+       return (OPJ_UINT64)file_length;
 }
 
 static OPJ_SIZE_T opj_write_from_file (void * p_buffer, OPJ_SIZE_T p_nb_bytes, FILE * p_file)
@@ -944,7 +944,7 @@ opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream_v3 (
         return NULL;
     }
 
-    opj_stream_set_user_data(l_stream, p_file);
+    opj_stream_set_user_data_v3(l_stream, p_file, (opj_stream_free_user_data_fn) fclose);
     opj_stream_set_user_data_length(l_stream, opj_get_data_length_from_file(p_file));
     opj_stream_set_read_function(l_stream, (opj_stream_read_fn) opj_read_from_file);
     opj_stream_set_write_function(l_stream, (opj_stream_write_fn) opj_write_from_file);