diff options
author | Bruno Haible <bruno@clisp.org> | 2002-12-09 12:35:55 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2002-12-09 12:35:55 +0000 |
commit | 5090f380e36c07511a048603d81f6af7f97ca591 (patch) | |
tree | bc14e985d6ea5d221c1b6a79db7042b773edd01b /src/output.cc | |
parent | d776b8df6567987ac5b3defab7a996448a0ba4c4 (diff) | |
download | gperf-5090f380e36c07511a048603d81f6af7f97ca591.tar.gz |
Rework positions handling.
Diffstat (limited to 'src/output.cc')
-rw-r--r-- | src/output.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/output.cc b/src/output.cc index 2496a23..8a76936 100644 --- a/src/output.cc +++ b/src/output.cc @@ -471,7 +471,10 @@ Output::output_hash_function () " };\n"); /* Optimize special case of ``-k 1,$'' */ - if (option[DEFAULTCHARS]) + if (!option[ALLCHARS] + && option.get_key_positions().get_size() == 2 + && option.get_key_positions()[0] == 1 + && option.get_key_positions()[1] == Positions::LASTCHAR) printf (" return %sasso_values[%sstr[len - 1]] + asso_values[%sstr[0]];\n", option[NOLENGTH] ? "" : "len + ", char_to_index, char_to_index); |