--- parser3/src/include/pa_common.h 2006/11/14 17:24:11 1.109 +++ parser3/src/include/pa_common.h 2007/03/22 18:59:42 1.113 @@ -8,7 +8,7 @@ #ifndef PA_COMMON_H #define PA_COMMON_H -static const char * const IDENT_COMMON_H="$Date: 2006/11/14 17:24:11 $"; +static const char * const IDENT_COMMON_H="$Date: 2007/03/22 18:59:42 $"; #include "pa_string.h" #include "pa_hash.h" @@ -214,18 +214,25 @@ void check_safe_mode(struct stat finfo, void pa_base64_decode(const char *in, size_t in_size, char*& result, size_t& result_size); char* pa_base64_encode(const char *in, size_t in_size); +struct File_base64_action_info { + unsigned char** base64; +}; +char* pa_base64_encode(const String& file_spec); +static void file_base64_file_action( + struct stat& finfo, + int f, + const String&, const char* /*fname*/, bool, + void *context); #define FILE_BUFFER_SIZE 4096 -static unsigned long *pCrc32Table; +static unsigned long crc32Table[256]; static void InitCrc32Table() { - if(pCrc32Table == 0){ + if(crc32Table[1] == 0){ // This is the official polynomial used by CRC32 in PKZip. // Often times the polynomial shown reversed as 0x04C11DB7. static const unsigned long dwPolynomial = 0xEDB88320; - pCrc32Table = new(PointerFreeGC) unsigned long[256]; - for(int i = 0; i < 256; i++) { unsigned long dwCrc = i; @@ -236,14 +243,16 @@ static void InitCrc32Table() else dwCrc >>= 1; } - pCrc32Table[i] = dwCrc; + crc32Table[i] = dwCrc; } } } +int file_block_read(const int f, unsigned char* buffer, const size_t size); + inline void CalcCrc32(const unsigned char byte, unsigned long &crc32) { - crc32 = ((crc32) >> 8) ^ pCrc32Table[(byte) ^ ((crc32) & 0x000000FF)]; + crc32 = ((crc32) >> 8) ^ crc32Table[(byte) ^ ((crc32) & 0x000000FF)]; } const unsigned long pa_crc32(const char *in, size_t in_size); @@ -283,5 +292,6 @@ extern const String file_status_name; #define PA_SQL_OFFSET_NAME "offset" #define PA_COLUMN_SEPARATOR_NAME "separator" #define PA_COLUMN_ENCLOSER_NAME "encloser" +#define PA_CHARSET_NAME "charset" #endif