Hi,
I got the correct result too.
Thank you Iwamoto san, Kitaguch san.

Regards,
Shigio


2017-05-29 22:26 GMT+09:00 Shuichi KITAGUCHI <[email protected]>:

> Hi,
>
> >  http://cvs.savannah.gnu.org/viewcvs/global/libparser/C.c?
> cvsroot=global&r1=1.14&r2=1.15
> >  http://cvs.savannah.gnu.org/viewcvs/global/libparser/Cpp.
> c?cvsroot=global&r1=1.23&r2=1.24
>
> I applied this patch and get correct result.
> Thanks!
>
> > Hi.
> >
> >> 'ST1' is linked to '../R/1.html', but 'ST2' is linked to
> >> '../S/2.html'. I think 'ST2' should be linked to '../R/2.html'.
> >
> > This was caused by a bug in the built-in parser of gtags.
> >
> > I have fixed the bug in the repository.
> >  http://cvs.savannah.gnu.org/viewcvs/global/libparser/C.c?
> cvsroot=global&r1=1.14&r2=1.15
> >  http://cvs.savannah.gnu.org/viewcvs/global/libparser/Cpp.
> c?cvsroot=global&r1=1.23&r2=1.24
> >
> > Thank you for the report.
> >
> >
> > On Mon, 29 May 2017 19:18:11 +0900 (JST)
> > Shuichi KITAGUCHI <[email protected]> wrote:
> >
> >> Hi,
> >>
> >> > Hi,
> >> > Could you please send information to do a reproduction test?
> >> > o Which version of FreeBSD?
> >>
> >> 11.0-RELEASE (from binary package) and 12-CURRENT.
> >>
> >> > o What is the htags's command line?
> >>
> >> -s -a -n -g
> >>
> >> > o Where is the incorrect anchor link?
> >>
> >> When prepare following two header files and execute htags
> >> with above options,
> >>
> >> [a.h]
> >> struct st1 {
> >>         ST1 *st1_ptr;
> >> };
> >>
> >> struct st2 {
> >>         ST1 st2_st1;
> >> };
> >>
> >> struct st3 {
> >>         ST2 st3_st2;
> >> };
> >>
> >> [b.h]
> >> typedef struct st1      ST1;
> >> typedef struct st2      ST2;
> >> typedef struct st3      ST3;
> >>
> >> HTML/S/2.html contains below lines.
> >>
> >> <a id='L1' name='L1'></a>   1 <strong class='reserved'>typedef</strong>
> <strong class='reserved'>struct</strong> <a href='../S/1.html#L1'
> title='Defined at 1 in a.h.'>st1</a>      <a href='../R/1.html'
> title='Multiple referred from 3 places.'>ST1</a>;
> >> <a id='L2' name='L2'></a>   2 <strong class='reserved'>typedef</strong>
> <strong class='reserved'>struct</strong> <a href='../S/1.html#L5'
> title='Defined at 5 in a.h.'>st2</a>      <a href='../S/2.html#L2'
> title='Defined at 2 in b.h.'>ST2</a>;
> >>
> >> 'ST1' is linked to '../R/1.html', but 'ST2' is linked to
> >> '../S/2.html'. I think 'ST2' should be linked to '../R/2.html'.
> >>
> >> > Thank you in advance.
> >> >
> >> > Regards,
> >> > Shigio
> >>
> >> Thanks,
> >>
> >> > 2017-05-28 22:37 GMT+09:00 Shuichi KITAGUCHI <[email protected]>:
> >> >
> >> >> Hi,
> >> >>
> >> >> I've found that htags command generates incorrect anchor link when -s
> >> >> option is specified on FreeBSD and Cygwin. Linux is ok.  Upon
> >> >> investigation, this seems to be caused by behaviour of qsort().
> >> >>
> >> >> When anchor->lineno is same and cmp()@htags/anchor.c returns 0, some
> >> >> qsort() impelmentation might swap objects. This causes that type 'R'
> >> >> is upper than type 'T', and anchor_get() cannot find correct anchor.
> >> >>
> >> >> If appling below patch to htags/anchor.c, htags seems generate
> correct
> >> >> link.
> >> >>
> >> >>  static int
> >> >>  cmp(const void *s1, const void *s2)
> >> >>  {
> >> >> +#if 1
> >> >> +       int diff = ((struct anchor *)s1)->lineno - ((struct anchor
> >> >> *)s2)->lineno;
> >> >> +       /* when lineno is same, preserve current order. */
> >> >> +       return diff == 0 ? -1 : diff;
> >> >> +#else
> >> >>         return ((struct anchor *)s1)->lineno - ((struct anchor
> >> >> *)s2)->lineno;
> >> >> +#endif
> >> >>  }
> >> >>  /*
> >> >>   * Pointers (as lineno).
> >> >>
> >> >> Is this right fix?
> >> >>
> >> >> Thanks,
> >> >>
> >> >> _______________________________________________
> >> >> Bug-global mailing list
> >> >> [email protected]
> >> >> https://lists.gnu.org/mailman/listinfo/bug-global
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Shigio YAMAGUCHI <[email protected]>
> >> > PGP fingerprint:
> >> > 26F6 31B4 3D62 4A92 7E6F  1C33 969C 3BE3 89DD A6EB
> >>
> >> _______________________________________________
> >> Bug-global mailing list
> >> [email protected]
> >> https://lists.gnu.org/mailman/listinfo/bug-global
> >
> > --
> > 岩本 秀樹 <[email protected]>
> >
>
> _______________________________________________
> Bug-global mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/bug-global
>



-- 
Shigio YAMAGUCHI <[email protected]>
PGP fingerprint:
26F6 31B4 3D62 4A92 7E6F  1C33 969C 3BE3 89DD A6EB
_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global

Reply via email to