Hi,
Running `ctags -x` on a file including a tag which satisfies strlen(tag)
>= 16 and line number >= 1000 corrupts the output since there's no space
between the tag and line number. Therefore, add a space between them
just like ectags and uctags in ports does.
$ ctags -x /sys/dev/usb/umass.c | grep dump # before
umass_bbb_dump_cbw1830 /sys/dev/usb/umass.c umass_bbb_dump_cbw(struct
umass_softc *sc, struct umass_bbb_cbw *cbw)
umass_bbb_dump_csw1850 /sys/dev/usb/umass.c umass_bbb_dump_csw(struct
umass_softc *sc, struct umass_bbb_csw *csw)
umass_dump_buffer1867 /sys/dev/usb/umass.c umass_dump_buffer(struct
umass_softc *sc, u_int8_t *buffer, int buflen,
$ ./obj/ctags -x /sys/dev/usb/umass.c | grep dump # after
umass_bbb_dump_cbw 1830 /sys/dev/usb/umass.c umass_bbb_dump_cbw(struct
umass_softc *sc, struct umass_bbb_cbw *cbw)
umass_bbb_dump_csw 1850 /sys/dev/usb/umass.c umass_bbb_dump_csw(struct
umass_softc *sc, struct umass_bbb_csw *csw)
umass_dump_buffer 1867 /sys/dev/usb/umass.c umass_dump_buffer(struct
umass_softc *sc, u_int8_t *buffer, int buflen,
Comments? OK?
Index: print.c
===================================================================
RCS file: /cvs/src/usr.bin/ctags/print.c,v
retrieving revision 1.7
diff -u -p -r1.7 print.c
--- print.c 4 Mar 2012 04:05:15 -0000 1.7
+++ print.c 5 Oct 2017 08:39:54 -0000
@@ -99,7 +99,7 @@ put_entries(NODE *node)
printf("%s %s %d\n",
node->entry, node->file, (node->lno + 63) / 64);
else if (xflag)
- printf("%-16s%4d %-16s %s\n",
+ printf("%-16s %4d %-16s %s\n",
node->entry, node->lno, node->file, node->pat);
else
fprintf(outf, "%s\t%s\t%c^%s%c\n",