#define MAX_ZIPBYTES 0x03000000 /* Arbitrary max reasonable size, detecting corrupt */
struct zip_info
{
int offset;
int skipping; /* Flag */
unsigned int skipcount; /* Counter for bytes skipped after filename */
unsigned int namelen; /* Length of filename */
char filename[512];
};
void trim_leading(char* buf);
void trim_trailing(char* buf);
void trim_trailch(char* buf, char ch1, char ch2, char ch3);
void expand_list(char** buffer, const char* addition, const char* delim);
char* stristr(const char* haystack, const char* needle);
unsigned char hex2int(char* hexform);
void decode_hex(char* text, char hexflag, int underscore, char* optdest);
int base64_decode_line(const char* input, char* dest);
void base64_encode_line(const char* input, int insize, char* output);
void init_zip(struct zip_info* zip);
char* unzip_filename(char* databuf, int databuf_len, struct zip_info* zip);
syntax highlighted by Code2HTML, v. 0.9.1