This patch eliminates extraneous < 0 tests (because they are unsigned).

David

Index: encodings/singlebyte.c
===================================================================
RCS file: /cvs/public/parrot/encodings/singlebyte.c,v
retrieving revision 1.8
diff -c -r1.8 singlebyte.c
*** encodings/singlebyte.c 1 Jan 2002 18:24:24 -0000 1.8
--- encodings/singlebyte.c 1 Jan 2002 18:37:23 -0000
***************
*** 30,36 ****
  singlebyte_encode (const void *ptr, UINTVAL c) {
      byte_t *bptr = (byte_t*)ptr;

!     if (c < 0 || c > 255) {
          INTERNAL_EXCEPTION(INVALID_CHARACTER,
                             "Invalid character for single byte
encoding\n");
      }
--- 30,36 ----
  singlebyte_encode (const void *ptr, UINTVAL c) {
      byte_t *bptr = (byte_t*)ptr;

!     if (c > 255) {
          INTERNAL_EXCEPTION(INVALID_CHARACTER,
                             "Invalid character for single byte
encoding\n");
      }
Index: encodings/utf16.c
===================================================================
RCS file: /cvs/public/parrot/encodings/utf16.c,v
retrieving revision 1.6
diff -c -r1.6 utf16.c
*** encodings/utf16.c 1 Jan 2002 17:09:52 -0000 1.6
--- encodings/utf16.c 1 Jan 2002 18:37:23 -0000
***************
*** 60,66 ****
  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,
                             "Invalid character for UTF-16 encoding\n");
      }
--- 60,66 ----
  utf16_encode (const void *ptr, UINTVAL c) {
      utf16_t *u16ptr = (utf16_t*)ptr;

!     if (c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) {
          INTERNAL_EXCEPTION(INVALID_CHARACTER,
                             "Invalid character for UTF-16 encoding\n");
      }
Index: encodings/utf32.c
===================================================================
RCS file: /cvs/public/parrot/encodings/utf32.c,v
retrieving revision 1.3
diff -c -r1.3 utf32.c
*** encodings/utf32.c 1 Jan 2002 17:09:52 -0000 1.3
--- encodings/utf32.c 1 Jan 2002 18:37:23 -0000
***************
*** 33,39 ****
  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,
                             "Invalid character for UTF-32 encoding\n");
      }
--- 33,39 ----
  utf32_encode (const void *ptr, UINTVAL c) {
      utf32_t *u32ptr = (utf32_t*)ptr;

!     if (c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) {
          INTERNAL_EXCEPTION(INVALID_CHARACTER,
                             "Invalid character for UTF-32 encoding\n");
      }
Index: encodings/utf8.c
===================================================================
RCS file: /cvs/public/parrot/encodings/utf8.c,v
retrieving revision 1.7
diff -c -r1.7 utf8.c
*** encodings/utf8.c 1 Jan 2002 17:09:52 -0000 1.7
--- encodings/utf8.c 1 Jan 2002 18:37:23 -0000
***************
*** 82,88 ****
      UINTVAL len = UNISKIP(c);
      utf8_t *u8end = u8ptr + len - 1;

!     if (c < 0 || c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) {
          INTERNAL_EXCEPTION(INVALID_CHARACTER,
                             "Invalid character for UTF-8 encoding\n");
      }
--- 82,88 ----
      UINTVAL len = UNISKIP(c);
      utf8_t *u8end = u8ptr + len - 1;

!     if (c > 0x10FFFF || UNICODE_IS_SURROGATE(c)) {
          INTERNAL_EXCEPTION(INVALID_CHARACTER,
                             "Invalid character for UTF-8 encoding\n");
      }


Reply via email to