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

Reply via email to