aspseek and gcc3, complete with workaround

Daniel Stone <[email protected]> Wed, 18 Jun 2003 15:59:59 +1000
Newsgroups gmane.comp.web.aspseek.devel
Message-ID <[email protected]>
--rpGc+ACYPE+RMC+Z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi all,
Dunno if my earlier mail got through, so here goes again - with more
info, this time.

With gcc3.3, CVS doesn't build. I forced gcc3.2, and ran into problems -
searchd spun in search.cpp:AndResults, when you had a search query which
was more than one word.

It worked when built with -g3, but with anything less, it kept spinning.
The workaround I eventually found was to comment out this block of code:
                /* for (i =3D 1; i < size; purl++, i++)
                {
                        if (furl !=3D **purl)
                        {
                                if (**purl > maxurl) maxurl =3D **purl;
                                same =3D 0; // URLs are not the same
                        }
                } */
(search.cpp, 1887->1894).

The results produced still *seem* correct, even thought they may not be.
Can someone please enlighten me as to what this particular block of code
does, and why it may cause spinning? I have a suspicion it may be gcc
miscompiling (the entire function scares me, honestly), but yeah.

Cheers!
:) d

--=20
Daniel Stone                                     <[email protected]=
u.au>
Developer, Trinity College, University of Melbourne

--rpGc+ACYPE+RMC+Z
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+7//fcPClnTztfv0RAiN8AJ9smWuQCMmfwG7qF9kt+wxZhLP9cACfWhtQ
fA5xKyxpGYgsqsoW0LQVJXo=
=8+Iq
-----END PGP SIGNATURE-----

--rpGc+ACYPE+RMC+Z--