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",