On Monday 31 December 2001 11:14 pm, David & Lisa Jacobs wrote: {patch}
This patch merges changes I made in the same areas. Index: encodings/singlebyte.c =================================================================== RCS file: /home/perlcvs/parrot/encodings/singlebyte.c,v retrieving revision 1.6 diff -u -r1.6 singlebyte.c --- encodings/singlebyte.c 30 Dec 2001 12:04:56 -0000 1.6 +++ encodings/singlebyte.c 1 Jan 2002 04:40:27 -0000 @@ -14,12 +14,12 @@ typedef unsigned char byte_t; -static INTVAL -singlebyte_characters (const void *ptr, INTVAL bytes) { +static UINTVAL +singlebyte_characters (const void *ptr, UINTVAL bytes) { return bytes; } -static INTVAL +static UINTVAL singlebyte_decode (const void *ptr) { const byte_t *bptr = ptr; @@ -27,8 +27,8 @@ } static void * -singlebyte_encode (void *ptr, INTVAL c) { - byte_t *bptr = ptr; +singlebyte_encode (const void *ptr, UINTVAL c) { + byte_t *bptr = (byte_t*)ptr; if (c < 0 || c > 255) { INTERNAL_EXCEPTION(INVALID_CHARACTER, @@ -41,14 +41,14 @@ } static void * -singlebyte_skip_forward (const void *ptr, INTVAL n) { +singlebyte_skip_forward (const void *ptr, UINTVAL n) { byte_t *bptr = (byte_t*)ptr; return bptr + n; } static void * -singlebyte_skip_backward (const void *ptr, INTVAL n) { +singlebyte_skip_backward (const void *ptr, UINTVAL n) { byte_t *bptr = (byte_t*)ptr; return bptr - n; Index: encodings/utf16.c =================================================================== RCS file: /home/perlcvs/parrot/encodings/utf16.c,v retrieving revision 1.5 diff -u -r1.5 utf16.c --- encodings/utf16.c 30 Dec 2001 12:04:56 -0000 1.5 +++ encodings/utf16.c 1 Jan 2002 04:40:28 -0000 @@ -17,11 +17,11 @@ typedef unsigned short utf16_t; #endif -static INTVAL -utf16_characters (const void *ptr, INTVAL bytes) { +static UINTVAL +utf16_characters (const void *ptr, UINTVAL bytes) { const utf16_t *u16ptr = ptr; const utf16_t *u16end = u16ptr + bytes / sizeof(utf16_t); - INTVAL characters = 0; + UINTVAL characters = 0; while (u16ptr < u16end) { u16ptr += UTF16SKIP(u16ptr); @@ -35,10 +35,10 @@ return characters; } -static INTVAL +static UINTVAL utf16_decode (const void *ptr) { const utf16_t *u16ptr = ptr; - INTVAL c = *u16ptr++; + UINTVAL c = *u16ptr++; if (UNICODE_IS_HIGH_SURROGATE(c)) { utf16_t low = *u16ptr++; @@ -57,8 +57,8 @@ } static void * -utf16_encode (void *ptr, INTVAL c) { - utf16_t *u16ptr = ptr; +utf16_encode (const void *ptr, UINTVAL c) { + utf16_t *u16ptr = (utf16_t*)ptr; if (c < 0 || c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) { INTERNAL_EXCEPTION(INVALID_CHARACTER, @@ -77,7 +77,7 @@ } static void * -utf16_skip_forward (const void *ptr, INTVAL n) { +utf16_skip_forward (const void *ptr, UINTVAL n) { utf16_t *u16ptr = (utf16_t*)ptr; while (n-- > 0) { @@ -100,7 +100,7 @@ } static void * -utf16_skip_backward (const void *ptr, INTVAL n) { +utf16_skip_backward (const void *ptr, UINTVAL n) { utf16_t *u16ptr = (utf16_t*)ptr; while (n--> 0) { Index: encodings/utf32.c =================================================================== RCS file: /home/perlcvs/parrot/encodings/utf32.c,v retrieving revision 1.2 diff -u -r1.2 utf32.c --- encodings/utf32.c 30 Dec 2001 12:04:56 -0000 1.2 +++ encodings/utf32.c 1 Jan 2002 04:40:28 -0000 @@ -17,12 +17,12 @@ typedef unsigned long utf32_t; #endif -static INTVAL -utf32_characters (const void *ptr, INTVAL bytes) { +static UINTVAL +utf32_characters (const void *ptr, UINTVAL bytes) { return bytes / 4; } -static INTVAL +static UINTVAL utf32_decode (const void *ptr) { const utf32_t *u32ptr = ptr; @@ -30,8 +30,8 @@ } static void * -utf32_encode (void *ptr, INTVAL c) { - utf32_t *u32ptr = ptr; +utf32_encode (const void *ptr, UINTVAL c) { + utf32_t *u32ptr = (utf32_t*)ptr; if (c < 0 || c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) { INTERNAL_EXCEPTION(INVALID_CHARACTER, @@ -44,14 +44,14 @@ } static void * -utf32_skip_forward (const void *ptr, INTVAL n) { +utf32_skip_forward (const void *ptr, UINTVAL n) { utf32_t *u32ptr = (utf32_t*)ptr; return u32ptr + n; } static void * -utf32_skip_backward (const void *ptr, INTVAL n) { +utf32_skip_backward (const void *ptr, UINTVAL n) { utf32_t *u32ptr = (utf32_t*)ptr; return u32ptr - n; Index: encodings/utf8.c =================================================================== RCS file: /home/perlcvs/parrot/encodings/utf8.c,v retrieving revision 1.6 diff -u -r1.6 utf8.c --- encodings/utf8.c 31 Dec 2001 16:00:59 -0000 1.6 +++ encodings/utf8.c 1 Jan 2002 04:40:28 -0000 @@ -28,11 +28,11 @@ typedef unsigned char utf8_t; #endif -static INTVAL -utf8_characters (const void *ptr, INTVAL bytes) { +static UINTVAL +utf8_characters (const void *ptr, UINTVAL bytes) { const utf8_t *u8ptr = ptr; const utf8_t *u8end = u8ptr + bytes; - INTVAL characters = 0; + UINTVAL characters = 0; while (u8ptr < u8end) { u8ptr += UTF8SKIP(u8ptr); @@ -46,14 +46,14 @@ return characters; } -static INTVAL +static UINTVAL utf8_decode (const void *ptr) { const utf8_t *u8ptr = ptr; - INTVAL c = *u8ptr; + UINTVAL c = *u8ptr; if (UTF8_IS_START(c)) { - INTVAL len = UTF8SKIP(u8ptr); - INTVAL count; + UINTVAL len = UTF8SKIP(u8ptr); + UINTVAL count; c &= UTF8_START_MASK(len); for (count = 1; count < len; count++) { @@ -77,9 +77,9 @@ } static void * -utf8_encode (void *ptr, INTVAL c) { - utf8_t *u8ptr = ptr; - INTVAL len = UNISKIP(c); +utf8_encode (const void *ptr, UINTVAL c) { + utf8_t *u8ptr = (utf8_t*)ptr; + UINTVAL len = UNISKIP(c); utf8_t *u8end = u8ptr + len - 1; if (c < 0 || c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) { @@ -97,7 +97,7 @@ } static void * -utf8_skip_forward (void *ptr, INTVAL n) { +utf8_skip_forward (const void *ptr, UINTVAL n) { utf8_t *u8ptr = (utf8_t*)ptr; while (n-- > 0) { @@ -108,7 +108,7 @@ } static void * -utf8_skip_backward (void *ptr, INTVAL n) { +utf8_skip_backward (const void *ptr, UINTVAL n) { utf8_t *u8ptr = (utf8_t*)ptr; while (n-- > 0) { Index: include/parrot/encoding.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/encoding.h,v retrieving revision 1.6 diff -u -r1.6 encoding.h --- include/parrot/encoding.h 31 Dec 2001 16:00:59 -0000 1.6 +++ include/parrot/encoding.h 1 Jan 2002 04:40:28 -0000 @@ -15,12 +15,12 @@ typedef struct { const char *name; - INTVAL max_bytes; - INTVAL (*characters)(const void *ptr, INTVAL bytes); - INTVAL (*decode)(const void *ptr); - void *(*encode)(void *ptr, INTVAL c); - void *(*skip_forward)(void *ptr, INTVAL n); - void *(*skip_backward)(void *ptr, INTVAL n); + UINTVAL max_bytes; + UINTVAL (*characters)(const void *ptr, UINTVAL bytes); + UINTVAL (*decode)(const void *ptr); + void *(*encode)(const void *ptr, UINTVAL c); + void *(*skip_forward)(const void *ptr, UINTVAL n); + void *(*skip_backward)(const void *ptr, UINTVAL n); } ENCODING; const ENCODING * -- Bryan C. Warnock [EMAIL PROTECTED]