Merge branch 'bug/sort-dump-links'
This commit is contained in:
@@ -1269,6 +1269,12 @@ dump_extra(Buffer *buf)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
cmp_anchor_hseq(const void *a, const void *b)
|
||||||
|
{
|
||||||
|
return (*((const Anchor **) a))->hseq - (*((const Anchor **) b))->hseq;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_dump(Buffer *buf)
|
do_dump(Buffer *buf)
|
||||||
{
|
{
|
||||||
@@ -1289,15 +1295,20 @@ do_dump(Buffer *buf)
|
|||||||
int i;
|
int i;
|
||||||
saveBuffer(buf, stdout, FALSE);
|
saveBuffer(buf, stdout, FALSE);
|
||||||
if (displayLinkNumber && buf->href) {
|
if (displayLinkNumber && buf->href) {
|
||||||
|
int nanchor = buf->href->nanchor;
|
||||||
printf("\nReferences:\n\n");
|
printf("\nReferences:\n\n");
|
||||||
for (i = 0; i < buf->href->nanchor; i++) {
|
Anchor **in_order = New_N(Anchor *, buf->href->nanchor);
|
||||||
|
for (i = 0; i < nanchor; i++)
|
||||||
|
in_order[i] = buf->href->anchors + i;
|
||||||
|
qsort(in_order, nanchor, sizeof(Anchor *), cmp_anchor_hseq);
|
||||||
|
for (i = 0; i < nanchor; i++) {
|
||||||
ParsedURL pu;
|
ParsedURL pu;
|
||||||
char *url;
|
char *url;
|
||||||
if (buf->href->anchors[i].slave)
|
if (in_order[i]->slave)
|
||||||
continue;
|
continue;
|
||||||
parseURL2(buf->href->anchors[i].url, &pu, baseURL(buf));
|
parseURL2(in_order[i]->url, &pu, baseURL(buf));
|
||||||
url = url_decode2(parsedURL2Str(&pu)->ptr, Currentbuf);
|
url = url_decode2(parsedURL2Str(&pu)->ptr, Currentbuf);
|
||||||
printf("[%d] %s\n", buf->href->anchors[i].hseq + 1, url);
|
printf("[%d] %s\n", in_order[i]->hseq + 1, url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user