[trunk] Start working on LFS support in JPIP code section
This commit is contained in:
parent
f3217ac170
commit
1cf1d6146c
|
@ -49,28 +49,28 @@
|
|||
#endif /*SERVER*/
|
||||
|
||||
|
||||
Byte_t * fetch_bytes( int fd, long offset, int size)
|
||||
Byte_t * fetch_bytes( int fd, OPJ_OFF_T offset, OPJ_SIZE_T size)
|
||||
{
|
||||
Byte_t *data;
|
||||
|
||||
if( lseek( fd, offset, SEEK_SET)==-1){
|
||||
fprintf( FCGI_stdout, "Reason: Target broken (fseek error)\r\n");
|
||||
fprintf( FCGI_stderr, "Error: error in fetch_bytes( %d, %ld, %d)\n", fd, offset, size);
|
||||
fprintf( FCGI_stderr, "Error: error in fetch_bytes( %d, %ld, %lu)\n", fd, offset, size);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
data = (Byte_t *)malloc( size);
|
||||
|
||||
if( read( fd, data, size) != size){
|
||||
if( (OPJ_SIZE_T)read( fd, data, size) != size){
|
||||
free( data);
|
||||
fprintf( FCGI_stdout, "Reason: Target broken (read error)\r\n");
|
||||
fprintf( FCGI_stderr, "Error: error in fetch_bytes( %d, %ld, %d)\n", fd, offset, size);
|
||||
fprintf( FCGI_stderr, "Error: error in fetch_bytes( %d, %ld, %lu)\n", fd, offset, size);
|
||||
return NULL;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
Byte_t fetch_1byte( int fd, long offset)
|
||||
Byte_t fetch_1byte( int fd, OPJ_OFF_T offset)
|
||||
{
|
||||
Byte_t code;
|
||||
|
||||
|
@ -88,7 +88,7 @@ Byte_t fetch_1byte( int fd, long offset)
|
|||
return code;
|
||||
}
|
||||
|
||||
Byte2_t fetch_2bytebigendian( int fd, long offset)
|
||||
Byte2_t fetch_2bytebigendian( int fd, OPJ_OFF_T offset)
|
||||
{
|
||||
Byte_t *data;
|
||||
Byte2_t code;
|
||||
|
@ -103,7 +103,7 @@ Byte2_t fetch_2bytebigendian( int fd, long offset)
|
|||
return code;
|
||||
}
|
||||
|
||||
Byte4_t fetch_4bytebigendian( int fd, long offset)
|
||||
Byte4_t fetch_4bytebigendian( int fd, OPJ_OFF_T offset)
|
||||
{
|
||||
Byte_t *data;
|
||||
Byte4_t code;
|
||||
|
@ -118,7 +118,7 @@ Byte4_t fetch_4bytebigendian( int fd, long offset)
|
|||
return code;
|
||||
}
|
||||
|
||||
Byte8_t fetch_8bytebigendian( int fd, long offset)
|
||||
Byte8_t fetch_8bytebigendian( int fd, OPJ_OFF_T offset)
|
||||
{
|
||||
Byte_t *data;
|
||||
Byte8_t code;
|
||||
|
@ -136,7 +136,7 @@ Byte8_t fetch_8bytebigendian( int fd, long offset)
|
|||
|
||||
Byte2_t big2( Byte_t *buf)
|
||||
{
|
||||
return (((Byte2_t) buf[0]) << 8) + ((Byte2_t) buf[1]);
|
||||
return (Byte2_t)((((Byte2_t) buf[0]) << 8) + ((Byte2_t) buf[1]));
|
||||
}
|
||||
|
||||
Byte4_t big4( Byte_t *buf)
|
||||
|
@ -159,7 +159,7 @@ void modify_4Bytecode( Byte4_t code, Byte_t *stream)
|
|||
*(stream+3) = (Byte_t) (code & 0x000000ff);
|
||||
}
|
||||
|
||||
Byte8_t get_filesize( int fd)
|
||||
OPJ_OFF_T get_filesize( int fd)
|
||||
{
|
||||
struct stat sb;
|
||||
|
||||
|
@ -168,5 +168,5 @@ Byte8_t get_filesize( int fd)
|
|||
fprintf( FCGI_stderr, "Error: error in get_filesize( %d)\n", fd);
|
||||
return 0;
|
||||
}
|
||||
return (Byte8_t)sb.st_size;
|
||||
return sb.st_size;
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#ifndef BYTE_MANAGER_H_
|
||||
#define BYTE_MANAGER_H_
|
||||
|
||||
#include <stddef.h>
|
||||
#include "opj_stdint.h"
|
||||
typedef uint8_t Byte_t;
|
||||
typedef uint16_t Byte2_t;
|
||||
|
@ -45,7 +46,7 @@ typedef uint64_t Byte8_t;
|
|||
* @param[in] size Byte length
|
||||
* @return pointer to the fetched data
|
||||
*/
|
||||
Byte_t * fetch_bytes( int fd, long offset, int size);
|
||||
Byte_t * fetch_bytes( int fd, OPJ_OFF_T offset, OPJ_SIZE_T size);
|
||||
|
||||
|
||||
/**
|
||||
|
@ -55,7 +56,7 @@ Byte_t * fetch_bytes( int fd, long offset, int size);
|
|||
* @param[in] offset start Byte position
|
||||
* @return fetched codes
|
||||
*/
|
||||
Byte_t fetch_1byte( int fd, long offset);
|
||||
Byte_t fetch_1byte( int fd, OPJ_OFF_T offset);
|
||||
|
||||
/**
|
||||
* fetch a 2-byte big endian Byte codes in file stream
|
||||
|
@ -64,7 +65,7 @@ Byte_t fetch_1byte( int fd, long offset);
|
|||
* @param[in] offset start Byte position
|
||||
* @return fetched codes
|
||||
*/
|
||||
Byte2_t fetch_2bytebigendian( int fd, long offset);
|
||||
Byte2_t fetch_2bytebigendian( int fd, OPJ_OFF_T offset);
|
||||
|
||||
/**
|
||||
* fetch a 4-byte big endian Byte codes in file stream
|
||||
|
@ -73,7 +74,7 @@ Byte2_t fetch_2bytebigendian( int fd, long offset);
|
|||
* @param[in] offset start Byte position
|
||||
* @return fetched codes
|
||||
*/
|
||||
Byte4_t fetch_4bytebigendian( int fd, long offset);
|
||||
Byte4_t fetch_4bytebigendian( int fd, OPJ_OFF_T offset);
|
||||
|
||||
/**
|
||||
* fetch a 8-byte big endian Byte codes in file stream
|
||||
|
@ -82,7 +83,7 @@ Byte4_t fetch_4bytebigendian( int fd, long offset);
|
|||
* @param[in] offset start Byte position
|
||||
* @return fetched codes
|
||||
*/
|
||||
Byte8_t fetch_8bytebigendian( int fd, long offset);
|
||||
Byte8_t fetch_8bytebigendian( int fd, OPJ_OFF_T offset);
|
||||
|
||||
|
||||
/**
|
||||
|
@ -123,6 +124,6 @@ void modify_4Bytecode( Byte4_t code, Byte_t *stream);
|
|||
* @param[in] fd file discriptor
|
||||
* @return file size
|
||||
*/
|
||||
Byte8_t get_filesize( int fd);
|
||||
OPJ_OFF_T get_filesize( int fd);
|
||||
|
||||
#endif /* !BYTE_MANAGER_H_ */
|
||||
|
|
|
@ -80,7 +80,6 @@ typedef char OPJ_CHAR;
|
|||
typedef float OPJ_FLOAT32;
|
||||
typedef double OPJ_FLOAT64;
|
||||
typedef unsigned char OPJ_BYTE;
|
||||
typedef size_t OPJ_SIZE_T;
|
||||
|
||||
#include "opj_stdint.h"
|
||||
|
||||
|
@ -93,9 +92,6 @@ typedef uint32_t OPJ_UINT32;
|
|||
typedef int64_t OPJ_INT64;
|
||||
typedef uint64_t OPJ_UINT64;
|
||||
|
||||
/* 64-bit file offset type */
|
||||
typedef OPJ_INT64 OPJ_OFF_T;
|
||||
|
||||
/* Avoid compile-time warning because parameter is not used */
|
||||
#define OPJ_ARG_NOT_USED(x) (void)(x)
|
||||
|
||||
|
|
|
@ -43,5 +43,9 @@ typedef unsigned __int64 uint64_t;
|
|||
#error unsupported platform
|
||||
#endif
|
||||
#endif
|
||||
typedef size_t OPJ_SIZE_T;
|
||||
|
||||
/* 64-bit file offset type */
|
||||
typedef int64_t OPJ_OFF_T;
|
||||
|
||||
#endif /* OPJ_STDINT_H */
|
||||
|
|
Loading…
Reference in New Issue