[gnu.g++.lib.bug] compiler warnings in src/regex.c

andrew@frip.WV.TEK.COM (Andrew Klossner) (08/12/89)

Compiling src/regex.c on a Tektronix 88k workstation results in these
warnings:

regex.c: In function re_search_2:
regex.c:1069: warning: argument passing between incompatible pointer types
regex.c:1069: warning: argument passing between incompatible pointer types
regex.c: In function re_match:
regex.c:1096: warning: argument passing between incompatible pointer types

The problem is that arguments of type (char *) are being passed to
parameters of type (unsigned char *).  A brute force fix is enclosed.

    -=- Andrew Klossner   (uunet!tektronix!frip.WV.TEK!andrew)    [UUCP]
                        (andrew%frip.wv.tek.com@relay.cs.net)   [ARPA]

*** ORIG-libg++-1.35.1/src/regex.c	Thu Mar 30 02:59:54 1989
--- libg++-88k/src/regex.c	Fri Aug 11 15:41:20 1989
***************
*** 1066,1072 ****
  	  && fastmap && pbufp->can_be_null == 0)
  	return -1;
  
!       val = re_match_2 (pbufp, string1, size1, string2, size2, startpos, regs, mstop);
        if (0 <= val)
  	{
  	  if (val == -2)
--- 1066,1072 ----
  	  && fastmap && pbufp->can_be_null == 0)
  	return -1;
  
!       val = re_match_2 (pbufp, (unsigned char *)string1, size1, (unsigned char *)string2, size2, startpos, regs, mstop);
        if (0 <= val)
  	{
  	  if (val == -2)
***************
*** 1093,1099 ****
       int size, pos;
       struct re_registers *regs;
  {
!   return re_match_2 (pbufp, 0, 0, string, size, pos, regs, size);
  }
  #endif /* emacs */
  
--- 1093,1099 ----
       int size, pos;
       struct re_registers *regs;
  {
!   return re_match_2 (pbufp, 0, 0, (unsigned char *)string, size, pos, regs, size);
  }
  #endif /* emacs */