Good enuff, thanks!  Applied.

--Josh

At 20:36 on 03/29/2002 EST, Michel J Lambert <[EMAIL PROTECTED]> wrote:

> > I've applied portions of this patch.  I omitted the parts which use the
> > "byte" type, which isn't going to work on all platforms.
> 
> I've changed these to use 'char'. Hopefully that will be more portable.
> 
> Mike Lambert
> 
> Index: misc.c
> ===================================================================
> RCS file: /cvs/public/parrot/misc.c,v
> retrieving revision 1.19
> diff -u -r1.19 misc.c
> --- misc.c    17 Mar 2002 06:44:41 -0000      1.19
> +++ misc.c    30 Mar 2002 01:15:30 -0000
> @@ -89,38 +89,40 @@
>  void int_to_str(char *, char *, HUGEINTVAL, INTVAL );
>  */
> 
> -void gen_sprintf_call(char *, char *, SpfInfo, int);
> +void gen_sprintf_call(char *, char *, SpfInfo, char);
> 
>  static void
> -uint_to_str(char *buf1, char *buf2, UHUGEINTVAL num, INTVAL base)
> +uint_to_str(char *buf1, char *buf2, UHUGEINTVAL num, char base)
>  {
> -    int i = 0, cur;
> +    int i = 0, cur2;
> +     char cur;
> 
>      do {
> -        cur = num % base;
> +        cur = (char)(num % base);
> 
>          if (cur < 10) {
> -            buf2[i] = '0' + cur;
> +            buf2[i] = (char)('0' + cur);
>          }
>          else {
> -            buf2[i] = 'a' + cur;
> +            buf2[i] = (char)('a' + cur);
>          }
> 
>          i++;
>      } while (num /= base);
> 
> -    cur = i;
> +    cur2 = i;
> 
> -    for (i = 0; i <= cur; i++) {
> -        buf1[i] = buf2[cur - i];
> +    for (i = 0; i <= cur2; i++) {
> +        buf1[i] = buf2[cur2 - i];
>      }
>  }
> 
>  static void
> -int_to_str(char *buf1, char *buf2, HUGEINTVAL num, INTVAL base)
> +int_to_str(char *buf1, char *buf2, HUGEINTVAL num, char base)
>  {
>      BOOLVAL neg;
> -    int i = 0, cur;
> +    int i = 0, cur2;
> +     char cur;
> 
>      if (num < 0) {
>          neg = 1;
> @@ -131,13 +133,13 @@
>      }
> 
>      do {
> -        cur = num % base;
> +        cur = (char)(num % base);
> 
>          if (cur < 10) {
> -            buf2[i] = '0' + cur;
> +            buf2[i] = (char)('0' + cur);
>          }
>          else {
> -            buf2[i] = 'a' + cur;
> +            buf2[i] = (char)('a' + cur);
>          }
> 
>          i++;
> @@ -147,10 +149,10 @@
>          buf2[i++] = '-';
>      }
> 
> -    cur = i;
> +    cur2 = i;
> 
> -    for (i = 0; i < cur; i++) {
> -        buf1[i] = buf2[cur - i - 1];
> +    for (i = 0; i < cur2; i++) {
> +        buf1[i] = buf2[cur2 - i - 1];
>      }
> 
>      buf1[i] = 0;
> @@ -186,7 +188,7 @@
>  }
> 
>  void
> -gen_sprintf_call(char *buf, char *buf2, SpfInfo info, int thingy)
> +gen_sprintf_call(char *buf, char *buf2, SpfInfo info, char thingy)
>  {
>      int i = 0;
>      buf[i++] = '%';
> @@ -251,7 +253,7 @@
> 
>                  for (i++; i < (INTVAL)string_length(pat)
>                       && info.phase != PHASE_DONE; i++) {
> -                    char ch = string_ord(pat, i);
> +                    INTVAL ch = string_ord(pat, i);
> 
>                      switch (info.phase) {
>                      /*@fallthrough@ */ case PHASE_FLAGS:
> @@ -411,7 +413,7 @@
> 
>                          case 'f':
>                              dbl = va_arg(*args, double);
> -                            gen_sprintf_call(t1, t2, &info, (char)'f');
> +                            gen_sprintf_call(t1, t2, &info, 'f');
>                              sprintf(t2, t1, dbl);
>                              targ = string_concat(interpreter, targ,
>                                                   cstr2pstr(t2), 0);
> Index: string.c
> ===================================================================
> RCS file: /cvs/public/parrot/string.c,v
> retrieving revision 1.64
> diff -u -r1.64 string.c
> --- string.c  24 Mar 2002 06:57:28 -0000      1.64
> +++ string.c  30 Mar 2002 01:15:32 -0000
> @@ -434,8 +434,6 @@
>                                   * end of our piece */
>      UINTVAL true_offset;
>      UINTVAL true_length;
> -    UINTVAL new_length;
> -    UINTVAL new_size;
>      INTVAL diff;
> 
>      true_offset = (UINTVAL)offset;
> @@ -791,7 +789,7 @@
>       * would approach 128 characters in the buffer.
>       */
>      do {
> -        *--ptr = '0' + i % 10;
> +        *--ptr = (char)('0' + i % 10);
>      }
>      while(i /= 10);
> 
> 
> 

Reply via email to