From a653878c45cd533abbd4950b2fb5ea8c6cef6395 Mon Sep 17 00:00:00 2001 From: Sami Kerola Date: Sat, 12 Aug 2017 09:31:11 +0100 Subject: [PATCH] look: use WORDLIST environment variable to find word list The WORDLIST is the same hunspell(1) and ispell(1) uses to achieve the same. Apparently aspell(1) does not work with files like traditional dict lists. Reference: https://github.com/hunspell/hunspell/blob/master/man/hunspell.1#L388 Reference: http://www.skrenta.com/rt/man/ispell.1.html Reference: http://aspell.net/man-html/Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List Signed-off-by: Sami Kerola --- misc-utils/look.1 | 5 +++++ misc-utils/look.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/misc-utils/look.1 b/misc-utils/look.1 index 503e3858417..cca83416ece 100644 --- a/misc-utils/look.1 +++ b/misc-utils/look.1 @@ -101,6 +101,11 @@ sort -d /etc/passwd -o /tmp/look.dict look -t: root:foobar /tmp/look.dict .nf .RE +.SH ENVIRONMENT +.TP +.B WORDLIST +Path to a dictionary file. The environment variable has greater priority +than the dictionary path defined in FILES segment. .SH FILES .IP "\fB/usr/share/dict/words\fR" 4 the dictionary diff --git a/misc-utils/look.c b/misc-utils/look.c index 60fbbbfca1a..d2699bfdd69 100644 --- a/misc-utils/look.c +++ b/misc-utils/look.c @@ -104,7 +104,11 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); - file = _PATH_WORDS; + if ((file = getenv("WORDLIST")) && !access(file, R_OK)) + /* use the WORDLIST */; + else + file = _PATH_WORDS; + termchar = '\0'; string = NULL; /* just for gcc */