forked from Lainports/opnsense-ports
326 lines
10 KiB
Text
326 lines
10 KiB
Text
--- ext/crcio.c 2006-09-17 12:38:22.000000000 -0400
|
|
+++ ext/crcio.c 2015-03-23 10:29:59.000000000 -0400
|
|
@@ -34,9 +34,11 @@
|
|
/* ------------------------------------------------------------------------ */
|
|
unsigned int
|
|
-calccrc(crc, p, n)
|
|
+calccrc(crc, _p, n)
|
|
unsigned int crc;
|
|
- unsigned char *p;
|
|
+ const void *_p;
|
|
unsigned int n;
|
|
{
|
|
+ const unsigned char *p = _p;
|
|
+
|
|
while (n-- > 0)
|
|
crc = UPDATE_CRC(crc, *p++);
|
|
@@ -68,5 +70,5 @@
|
|
fwrite_crc(crcp, p, n, fp)
|
|
unsigned int *crcp;
|
|
- unsigned char *p;
|
|
+ const unsigned char *p;
|
|
int n;
|
|
FILE *fp;
|
|
@@ -139,9 +141,11 @@
|
|
/* ------------------------------------------------------------------------ */
|
|
int
|
|
-fwrite_txt(p, n, fp)
|
|
- unsigned char *p;
|
|
+fwrite_txt(_p, n, fp)
|
|
+ const void *_p;
|
|
int n;
|
|
FILE *fp;
|
|
{
|
|
+ const unsigned char *p = _p;
|
|
+
|
|
while (--n >= 0) {
|
|
if (*p != '\015' && *p != '\032') {
|
|
@@ -161,6 +165,6 @@
|
|
/* ------------------------------------------------------------------------ */
|
|
int
|
|
-fread_txt(p, n, fp)
|
|
- unsigned char *p;
|
|
+fread_txt(_p, n, fp)
|
|
+ void *_p;
|
|
int n;
|
|
FILE *fp;
|
|
@@ -168,4 +172,5 @@
|
|
int c;
|
|
int cnt = 0;
|
|
+ unsigned char *p = _p;
|
|
|
|
while (cnt < n) {
|
|
--- ext/extract.c 2006-09-17 13:45:51.000000000 -0400
|
|
+++ ext/extract.c 2015-03-23 10:42:48.000000000 -0400
|
|
@@ -15,5 +15,5 @@
|
|
size_t original_size;
|
|
size_t packed_size;
|
|
- char *name;
|
|
+ const char *name;
|
|
int method;
|
|
size_t *read_sizep;
|
|
--- ext/header.c 2006-09-17 12:38:22.000000000 -0400
|
|
+++ ext/header.c 2015-03-23 10:54:36.000000000 -0400
|
|
@@ -49,10 +49,11 @@
|
|
#endif
|
|
|
|
-int
|
|
-calc_sum(p, len)
|
|
- char *p;
|
|
+static int
|
|
+calc_sum(_p, len)
|
|
+ const void *_p;
|
|
int len;
|
|
{
|
|
int sum = 0;
|
|
+ const char *p = _p;
|
|
|
|
while (len--) sum += *p++;
|
|
@@ -68,5 +69,5 @@
|
|
|
|
if (verbose_listing && verbose > 1)
|
|
- printf("%02d %2d: ", get_ptr - start_ptr, 1);
|
|
+ printf("%02td %2d: ", get_ptr - start_ptr, 1);
|
|
c = GET_BYTE();
|
|
if (verbose_listing && verbose > 1) {
|
|
@@ -85,5 +86,5 @@
|
|
if (len == 0) return;
|
|
if (verbose_listing && verbose > 1) {
|
|
- printf("%02d %2d: ", get_ptr - start_ptr, len);
|
|
+ printf("%02td %2d: ", get_ptr - start_ptr, len);
|
|
while (len--)
|
|
printf("0x%02x ", GET_BYTE());
|
|
@@ -103,5 +104,5 @@
|
|
#if DUMP_HEADER
|
|
if (verbose_listing && verbose > 1)
|
|
- printf("%02d %2d: ", get_ptr - start_ptr, 2);
|
|
+ printf("%02td %2d: ", get_ptr - start_ptr, 2);
|
|
#endif
|
|
b0 = GET_BYTE();
|
|
@@ -131,5 +132,5 @@
|
|
#if DUMP_HEADER
|
|
if (verbose_listing && verbose > 1)
|
|
- printf("%02d %2d: ", get_ptr - start_ptr, 4);
|
|
+ printf("%02td %2d: ", get_ptr - start_ptr, 4);
|
|
#endif
|
|
b0 = GET_BYTE();
|
|
@@ -164,5 +165,5 @@
|
|
#if DUMP_HEADER
|
|
if (verbose_listing && verbose > 1)
|
|
- printf("%02d %2d: \"", get_ptr - start_ptr, len);
|
|
+ printf("%02td %2d: \"", get_ptr - start_ptr, len);
|
|
|
|
for (i = 0; i < len; i++) {
|
|
@@ -1172,9 +1173,9 @@
|
|
|
|
/* remove leading `xxxx/..' */
|
|
-static char *
|
|
-remove_leading_dots(char *path)
|
|
+static const char *
|
|
+remove_leading_dots(const char *path)
|
|
{
|
|
- char *first = path;
|
|
- char *ptr = 0;
|
|
+ const char *first = path;
|
|
+ const char *ptr = NULL;
|
|
|
|
if (strcmp(first, "..") == 0) {
|
|
@@ -1201,5 +1202,5 @@
|
|
|
|
if (ptr) {
|
|
- warning("Removing leading `%.*s' from member name.", ptr-first, first);
|
|
+ warning("Removing leading `%.*s' from member name.", (int)(ptr - first), first);
|
|
return ptr;
|
|
}
|
|
--- ext/huf.c 2006-09-17 12:38:22.000000000 -0400
|
|
+++ ext/huf.c 2015-03-23 10:37:51.000000000 -0400
|
|
@@ -235,7 +235,5 @@
|
|
/* lh4, 5, 6, 7 */
|
|
void
|
|
-output_st1(c, p)
|
|
- unsigned short c;
|
|
- unsigned short p;
|
|
+output_st1(unsigned short c, unsigned short p)
|
|
{
|
|
static unsigned short cpos;
|
|
--- ext/lha.h 2006-09-18 04:53:29.000000000 -0400
|
|
+++ ext/lha.h 2015-03-23 11:03:01.000000000 -0400
|
|
@@ -212,4 +212,6 @@
|
|
#include "lha_macro.h"
|
|
|
|
+unsigned char *alloc_buf(void);
|
|
+
|
|
#define exit(n) lha_exit(n)
|
|
|
|
@@ -301,32 +303,34 @@
|
|
LHALIB_EXTERN boolean need_file(const char*);
|
|
LHALIB_EXTERN boolean archive_is_msdos_sfx1(const char*);
|
|
-LHALIB_EXTERN void output_dyn();
|
|
-LHALIB_EXTERN void encode_start_fix();
|
|
-LHALIB_EXTERN void encode_end_dyn();
|
|
-LHALIB_EXTERN void output_st1();
|
|
-LHALIB_EXTERN void encode_start_st0();
|
|
-LHALIB_EXTERN void encode_end_st0();
|
|
-LHALIB_EXTERN void encode_start_st1();
|
|
-LHALIB_EXTERN void encode_end_st1();
|
|
-LHALIB_EXTERN unsigned short decode_c_dyn();
|
|
-LHALIB_EXTERN unsigned short decode_p_dyn();
|
|
-LHALIB_EXTERN void decode_start_fix();
|
|
-LHALIB_EXTERN void decode_start_dyn();
|
|
-LHALIB_EXTERN void decode_start_st0();
|
|
-LHALIB_EXTERN void decode_start_st1();
|
|
-LHALIB_EXTERN unsigned short decode_c_st0();
|
|
-LHALIB_EXTERN unsigned short decode_c_st1();
|
|
-LHALIB_EXTERN unsigned short decode_p_st0();
|
|
-LHALIB_EXTERN unsigned short decode_p_st1();
|
|
-LHALIB_EXTERN unsigned short decode_c_lzs();
|
|
-LHALIB_EXTERN unsigned short decode_p_lzs();
|
|
-LHALIB_EXTERN void decode_start_lzs();
|
|
-LHALIB_EXTERN unsigned short decode_c_lz5();
|
|
-LHALIB_EXTERN unsigned short decode_p_lz5();
|
|
-LHALIB_EXTERN void decode_start_lz5();
|
|
-LHALIB_EXTERN void make_crctable();
|
|
+LHALIB_EXTERN void output_dyn(unsigned int code, unsigned int pos);
|
|
+LHALIB_EXTERN void encode_start_fix(void);
|
|
+LHALIB_EXTERN void encode_end_dyn(void);
|
|
+LHALIB_EXTERN void output_st1(unsigned short c, unsigned short p);
|
|
+LHALIB_EXTERN void encode_start_st0(void);
|
|
+LHALIB_EXTERN void encode_end_st0(void);
|
|
+LHALIB_EXTERN void encode_start_st1(void);
|
|
+LHALIB_EXTERN void encode_end_st1(void);
|
|
+LHALIB_EXTERN void start_c_dyn(void);
|
|
+LHALIB_EXTERN unsigned short decode_c_dyn(void);
|
|
+LHALIB_EXTERN unsigned short decode_p_dyn(void);
|
|
+LHALIB_EXTERN void decode_start_fix(void);
|
|
+LHALIB_EXTERN void decode_start_dyn(void);
|
|
+LHALIB_EXTERN void decode_start_st0(void);
|
|
+LHALIB_EXTERN void decode_start_st1(void);
|
|
+LHALIB_EXTERN unsigned short decode_c_st0(void);
|
|
+LHALIB_EXTERN unsigned short decode_c_st1(void);
|
|
+LHALIB_EXTERN unsigned short decode_p_st0(void);
|
|
+LHALIB_EXTERN unsigned short decode_p_st1(void);
|
|
+LHALIB_EXTERN unsigned short decode_c_lzs(void);
|
|
+LHALIB_EXTERN unsigned short decode_p_lzs(void);
|
|
+LHALIB_EXTERN void decode_start_lzs(void);
|
|
+LHALIB_EXTERN unsigned short decode_c_lz5(void);
|
|
+LHALIB_EXTERN unsigned short decode_p_lz5(void);
|
|
+LHALIB_EXTERN void decode_start_lz5(void);
|
|
+LHALIB_EXTERN void make_crctable(void);
|
|
LHALIB_EXTERN size_t copyfile(FILE* f1, FILE* f2, size_t size, int text_flg, unsigned int* crcp);
|
|
-LHALIB_EXTERN void init_getbits();
|
|
-LHALIB_EXTERN void init_code_cache();
|
|
+LHALIB_EXTERN void init_getbits(void);
|
|
+LHALIB_EXTERN void init_putbits(void);
|
|
+LHALIB_EXTERN void init_code_cache(void);
|
|
LHALIB_EXTERN void putcode(unsigned char n, unsigned short x);
|
|
LHALIB_EXTERN void putbits(unsigned char n, unsigned short x);
|
|
@@ -335,5 +339,18 @@
|
|
LHALIB_EXTERN void encode_p_st0(unsigned short j);
|
|
|
|
-
|
|
+NORETURN(void lha_exit(int n));
|
|
+unsigned int calccrc(unsigned int crc, const void *p, unsigned int length);
|
|
+int fread_txt(void *p, int n, FILE *fp);
|
|
+int fwrite_txt(const void *p, int n, FILE *fp);
|
|
+int fread_crc(unsigned int *crcp, unsigned char *p, int n, FILE *fp);
|
|
+void fwrite_crc(unsigned int *crcp, const unsigned char *p, int n, FILE *fp);
|
|
+void make_table(short nchar, const unsigned char bitlenp[], short tablebits, unsigned short table[]);
|
|
+unsigned int decode(struct interfacing *intf);
|
|
+short make_tree(int nchar, unsigned short *freqp, unsigned char *bitlenp, unsigned short *codep);
|
|
+int str_safe_copy(char *dst, const char *src, int dstsz);
|
|
+int decode_lzhuf(FILE *in, FILE *out, size_t original, size_t packed, const char *name, int method, size_t *readp);
|
|
+int seek_lha_header(FILE *fp);
|
|
+boolean get_header(FILE *fp, LzHeader *hdr);
|
|
+PRINTF_ARGS(int xsnprintf(char *dst, size_t size, const char *fmt, ...), 3, 4);
|
|
|
|
#define start_indicator(name, size, ing, len) 0
|
|
--- ext/lhalib.c 2006-09-18 05:11:35.000000000 -0400
|
|
+++ ext/lhalib.c 2015-03-23 11:00:35.000000000 -0400
|
|
@@ -19,5 +19,5 @@
|
|
|
|
#include "lha.h"
|
|
-#include "st.h"
|
|
+#include <ruby/st.h>
|
|
|
|
static VALUE lhalib;
|
|
@@ -76,5 +76,5 @@
|
|
proc = Qnil;
|
|
rb_scan_args(argc, argv, "1&", &file, &proc);
|
|
- rb_check_safe_str(file);
|
|
+ SafeStringValue(file);
|
|
rb_secure(4);
|
|
|
|
--- ext/lharc.c 2006-09-17 12:38:22.000000000 -0400
|
|
+++ ext/lharc.c 2015-03-23 10:58:33.000000000 -0400
|
|
@@ -53,5 +53,5 @@
|
|
static boolean
|
|
open_old_archive_1(name, v_fp)
|
|
- char *name;
|
|
+ const char *name;
|
|
FILE **v_fp;
|
|
{
|
|
--- ext/lhext.c 2006-09-17 12:38:22.000000000 -0400
|
|
+++ ext/lhext.c 2015-03-23 10:41:48.000000000 -0400
|
|
@@ -27,6 +27,7 @@
|
|
};
|
|
|
|
-static void add_dirinfo(char* name, LzHeader* hdr);
|
|
-static void adjust_dirinfo();
|
|
+static void add_dirinfo(const char* name, LzHeader* hdr);
|
|
+static void adjust_dirinfo(void);
|
|
+static int is_directory_traversal(const char *path);
|
|
|
|
/* ------------------------------------------------------------------------ */
|
|
@@ -396,6 +397,6 @@
|
|
}
|
|
|
|
-int
|
|
-is_directory_traversal(char *path)
|
|
+static int
|
|
+is_directory_traversal(const char *path)
|
|
{
|
|
int state = 0;
|
|
@@ -437,5 +438,5 @@
|
|
static LzHeaderList *dirinfo;
|
|
|
|
-static void add_dirinfo(char *name, LzHeader *hdr)
|
|
+static void add_dirinfo(const char *name, LzHeader *hdr)
|
|
{
|
|
LzHeaderList *p;
|
|
--- ext/maketbl.c 2006-09-17 12:38:22.000000000 -0400
|
|
+++ ext/maketbl.c 2015-03-23 10:32:06.000000000 -0400
|
|
@@ -10,9 +10,6 @@
|
|
|
|
void
|
|
-make_table(nchar, bitlen, tablebits, table)
|
|
- short nchar;
|
|
- unsigned char bitlen[];
|
|
- short tablebits;
|
|
- unsigned short table[];
|
|
+make_table(short nchar, const unsigned char bitlen[], short tablebits,
|
|
+ unsigned short table[])
|
|
{
|
|
unsigned short count[17]; /* count of bitlen */
|
|
--- ext/maketree.c 2006-09-17 13:36:33.000000000 -0400
|
|
+++ ext/maketree.c 2015-03-23 11:02:50.000000000 -0400
|
|
@@ -96,5 +96,5 @@
|
|
short *heap;
|
|
size_t heapsize;
|
|
- unsigned short *freq;
|
|
+ const unsigned short *freq;
|
|
{
|
|
short j, k;
|
|
--- ext/util.c 2006-09-18 04:53:29.000000000 -0400
|
|
+++ ext/util.c 2015-03-23 10:57:53.000000000 -0400
|
|
@@ -115,8 +115,9 @@
|
|
int
|
|
#if STDC_HEADERS
|
|
-xsnprintf(char *dest, size_t size, char *fmt, ...)
|
|
+xsnprintf(char *dest, size_t size, const char *fmt, ...)
|
|
#else
|
|
xsnprintf(dest, size, fmt, va_alist)
|
|
- char *dest, *fmt;
|
|
+ char *dest;
|
|
+ const char *fmt;
|
|
size_t size;
|
|
va_dcl
|