[Goodie][Beta]Regular Expressions Plugin (RePlugin 3.3beta)

Andrew C. Greenberg werdna at mucow.com
Sat Aug 17 19:52:01 UTC 2002


dead right ned.  The fix is trivial, adding a "0," before the 
third-from-the-last parameter in pcre_exec(...).  I made the change 
manually in the generated text, and backed it out into the plugin -- 
alas, that fix wasn't in the distributed version.  I'll post a revised 
changeset in an hour or so.

On Saturday, August 17, 2002, at 02:41 PM, Ned Konz wrote:

> On Friday 16 August 2002 08:10 pm, Andrew C. Greenberg wrote:
>> At the above URI, please find a changeset and machine-independent
>> source codes for the 3.3beta version of RePlugin.  This is an
>> "early adopters" version to get the code in the hands of VM
>> builders who might assemble and test on various platforms (I built
>> an internal plugin on MacOSX that passed all tests in the SUnit
>> suite -- that's it so far).  I'd be obliged for reports and copies
>> of the 3.3beta plugin.
>
> Couldn't get it to compile.
>
> Installation (using VMMaker on Linux):
>
> cd Squeak-3.2-5devel # top of VMMaker tree
> mkdir platforms/Cross/plugins/rePlugin
> cp /downloads/Squeak/RePlugin3.3beta/*.[ch] 
> platforms/Cross/plugins/rePlugin
>
> squeak devel.image
> # Load RePlugin3.3.1.cs into new CS
> # VMMaker openInWorld
> # now choose RePlugin as external, all others as internal, but don't 
> build DropPlugin or SecurityPlugin.
> # hit "Generate all"
>
> cd platforms/unix/config
> make
> cd -
> platforms/unix/config/build
>
> # much activity ensues, ending with:
>
> /home/ned/Squeak/Squeak-3.2-5devel/bld-i386/rePlugin
> /bin/sh /home/ned/Squeak/Squeak-3.2-5devel/bld-i386/libtool 
> --mode=compile gcc -I/usr/X11R6/include -g -O2 -fomit-frame-pointer 
> -DLSB_FIRST=1  -DHAVE_CONFIG_H  
> -I/home/ned/Squeak/Squeak-3.2-5devel/bld-i386 
> -I/home/ned/Squeak/Squeak-3.2-5devel/platforms/unix/vm 
> -I/home/ned/Squeak/Squeak-3.2-5devel/platforms/Cross/vm 
> -I/usr/X11R6/include 
> -I/home/ned/Squeak/Squeak-3.2-5devel/platforms/Cross/plugins/rePlugin    
> -c -o rePlugin.lo 
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c
> gcc -I/usr/X11R6/include -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 
> -DHAVE_CONFIG_H -I/home/ned/Squeak/Squeak-3.2-5devel/bld-i386 
> -I/home/ned/Squeak/Squeak-3.2-5devel/platforms/unix/vm 
> -I/home/ned/Squeak/Squeak-3.2-5devel/platforms/Cross/vm 
> -I/usr/X11R6/include 
> -I/home/ned/Squeak/Squeak-3.2-5devel/platforms/Cross/plugins/rePlugin 
> -c /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c  
> -fPIC -DPIC -o rePlugin.lo
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c: In 
> function `primPCRECompile':
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:216: 
> warning: passing arg 3 of `pcre_compile' from incompatible pointer type
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:219: 
> warning: passing arg 3 of `pcre_study' from incompatible pointer type
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c: In 
> function `primPCREExec':
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:270: 
> warning: passing arg 6 of `pcre_exec' makes integer from pointer 
> without a cast
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:270: 
> warning: passing arg 7 of `pcre_exec' makes pointer from integer 
> without a cast
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:270: 
> too few arguments to function `pcre_exec'
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c: In 
> function `primPCREExecfromto':
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:324: 
> warning: passing arg 6 of `pcre_exec' makes integer from pointer 
> without a cast
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:324: 
> warning: passing arg 7 of `pcre_exec' makes pointer from integer 
> without a cast
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:324: 
> too few arguments to function `pcre_exec'
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c: In 
> function `rcvrExtraPtr':
> /home/ned/Squeak/Squeak-3.2-5devel/src/plugins/rePlugin/rePlugin.c:365: 
> warning: return makes integer from pointer without a cast
> make[1]: *** [rePlugin.lo] Error 1
> make: *** [rePlugin.la] Error 2
> $
>
> Hmm... let's check to make sure the files are in fact correct and in 
> the right places.
> Yup, looks OK (these are the same files as in the distro):
>
> $ ls -lt platforms/*/plugins/rePl* src/plugins/rePlugin/
> platforms/Cross/plugins/rePlugin:
> total 212
> -rw-r--r--    1 ned      ned          7021 Aug 17 11:02 chartables.c
> -rw-r--r--    1 ned      ned          1946 Aug 17 11:02 config.h
> -rw-r--r--    1 ned      ned          7425 Aug 17 11:02 get.c
> -rw-r--r--    1 ned      ned         16372 Aug 17 11:02 internal.h
> -rw-r--r--    1 ned      ned        153208 Aug 17 11:02 pcre.c
> -rw-r--r--    1 ned      ned          3323 Aug 17 11:02 pcre.h
> -rw-r--r--    1 ned      ned          1259 Aug 17 11:02 rePlugin.h
> -rw-r--r--    1 ned      ned         10978 Aug 17 11:02 study.c
>
> src/plugins/rePlugin/:
> total 16
> -rw-rw-r--    1 ned      ned         15321 Aug 17 11:12 rePlugin.c
>
> platforms/unix/plugins/rePlugin:
> total 4
> -rw-r--r--    1 ned      ned            39 Jul 25 22:37 acinclude.m4
>
> OK, so what's it complaining about?
>
> In pcre.h (which is marked as version 3.9, a current version), we have:
>
> extern int  pcre_exec(const pcre *, const pcre_extra *, const char *,
>               int, int, int, int *, int);
>
> but it's being called at line 270 of the generated code in
> src/plugins/rePlugin/rePlugin.c (in primPCRECompile) as:
>
> 	result = pcre_exec((pcre *)pcrePtr, (pcre_extra *)extraPtr,
> 				searchBuffer, length, matchFlags, matchSpacePtr, matchSpaceSize);
>
> which has one too few arguments, and therefore generates several errors.
>
> Now, this would have been correct given the old pcre.h (which had seven 
> args), but isn't with this version.
>
> The date on the offending method (primPCRECompile) is three years old; 
> is there a version mismatch somewhere?
>
> --
> Ned Konz
> http://bike-nomad.com
> GPG key ID: BEEA7EFE
>
>
>




More information about the Squeak-dev mailing list