diff options
author | tjr <tjr@FreeBSD.org> | 2002-05-30 11:43:20 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2002-05-30 11:43:20 +0000 |
commit | 076fcd4805960006c01dd0b2bffd8ede483a43b1 (patch) | |
tree | b2ae1307691d7613f3f4f648bb426f741e3cf66d /usr.bin | |
parent | 68f8c604ee0f9a6e4bdd645eae4cb21cf55e1628 (diff) | |
download | FreeBSD-src-076fcd4805960006c01dd0b2bffd8ede483a43b1.zip FreeBSD-src-076fcd4805960006c01dd0b2bffd8ede483a43b1.tar.gz |
Sort entries by locale collating order when -x is specified.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/ctags/ctags.c | 6 | ||||
-rw-r--r-- | usr.bin/ctags/tree.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/ctags/ctags.c b/usr.bin/ctags/ctags.c index 04ac8ac..08de5aa 100644 --- a/usr.bin/ctags/ctags.c +++ b/usr.bin/ctags/ctags.c @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include <err.h> #include <limits.h> +#include <locale.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -97,6 +98,8 @@ main(argc, argv) int ch; /* getopts char */ char *cmd; + setlocale(LC_ALL, ""); + aflag = uflag = NO; tflag = YES; while ((ch = getopt(argc, argv, "BFTadf:tuwvx")) != -1) @@ -142,6 +145,9 @@ main(argc, argv) if (!argc) usage(); + if (!xflag) + setlocale(LC_COLLATE, "C"); + init(); for (exit_val = step = 0; step < argc; ++step) diff --git a/usr.bin/ctags/tree.c b/usr.bin/ctags/tree.c index 9dc2021..77a5778 100644 --- a/usr.bin/ctags/tree.c +++ b/usr.bin/ctags/tree.c @@ -104,7 +104,7 @@ add_node(node, cur_node) { int dif; - dif = strcmp(node->entry, cur_node->entry); + dif = strcoll(node->entry, cur_node->entry); if (!dif) { if (node->file == cur_node->file) { if (!wflag) |