According to Doug:
> 
>       Well I'm getting closer to my goal, but I have an (what I'm hoping is a
> small) error in my code that causes htsearch to "work" in the sense that
> sending it a fake test on the command line outputs the desired html, but
> it cores every time it runs. 
> 
>       I'm a decent C programmer, but my C++ leaves a lot to be desired. Here
> is what I've done:
> 
> 
> *** htdig-3.1.0b4/htsearch/Display.cc   Tue Dec 22 18:15:39 1998
> --- htdig-3.1.0b4-mod/htsearch/Display.cc       Wed Jan 20 13:13:22 1999
> ***************
> *** 265,272 ****
>       {
>         vars.Add("EXCERPT", excerpt(ref));
>       }
>       char    *url = match->getURL();
> !     vars.Add("URL", new String(url));
>       vars.Add("SCORE", new String(form("%d", match->getScore())));
>       vars.Add("CURRENT", new String(form("%d", current)));
>       char      *title = ref->DocTitle();
> --- 265,280 ----
>       {
>         vars.Add("EXCERPT", excerpt(ref));
>       }
> +
>       char    *url = match->getURL();
> !
> !     size_t  sn_max_qs_size = 128;
> !     char    *sn_query_string =
> "?track=00101.00015.005.00012.001-99010613001212638\0";
> !
> !     char *new_url = strncat(url, sn_query_string, sn_max_qs_size);
> !
> !     vars.Add("URL", new String(new_url));
> !
>       vars.Add("SCORE", new String(form("%d", match->getScore())));
>       vars.Add("CURRENT", new String(form("%d", current)));
>       char      *title = ref->DocTitle();
> 

Yikes!  NO!  You can't just overwrite the string returned by
match->getURL(), as you're doing with strncat(), because you have no idea
how much extra memory is available in the string.  I haven't tested this,
but I think what you want is something more like:

        char    *url = match->getURL();
        String  *new_url = new String(url);
        *new_url << "?track=00101.00015.005.00012.001-99010613001212638";
        vars.Add("URL", new_url);


-- 
Gilles R. Detillieux              E-mail: <[EMAIL PROTECTED]>
Spinal Cord Research Centre       WWW:    http://www.scrc.umanitoba.ca/~grdetil
Dept. Physiology, U. of Manitoba  Phone:  (204)789-3766
Winnipeg, MB  R3E 3J7  (Canada)   Fax:    (204)789-3930
----------------------------------------------------------------------
To unsubscribe from the htdig mailing list, send a message to
[EMAIL PROTECTED] containing the single word "unsubscribe" in
the body of the message.

Reply via email to