X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcommand.c;h=0e5d9d6376f8b4a55a9a31e5e4d9114b3df3f381;hb=1195caf0c998e80d3e7195a0452a14e7b4194077;hp=dc53eba8b0d911bbc1c3e36ca13e1ab9bf16a7ca;hpb=829c9392ee103e34cd81e7c9aee5cdf24d6029dc;p=pspp diff --git a/src/command.c b/src/command.c index dc53eba8b0..0e5d9d6376 100644 --- a/src/command.c +++ b/src/command.c @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #include #include "error.h" @@ -74,7 +74,7 @@ struct command {NAME, {T1, T2, T3, T4}, FUNC, 1, 1}, #define SPCCMD(NAME, T1, T2, T3, T4, FUNC) \ {NAME, {T1, T2, T3, T4}, FUNC, 0, 0}, -#define UNIMPL(NAME, T1, T2, T3, T4) \ +#define UNIMPL(NAME, T1, T2, T3, T4, DESC) \ {NAME, {T1, T2, T3, T4}, NULL, 1, 0}, static const struct command commands[] = { @@ -183,7 +183,7 @@ cmd_parse (void) return CMD_SUCCESS; /* Parse comments. */ - if ((token == T_ID && !strcmp (tokid, "COMMENT")) + if ((token == T_ID && !strcasecmp (tokid, "COMMENT")) || token == T_EXP || token == '*' || token == '[') { lex_skip_comment (); @@ -281,7 +281,7 @@ match_strings (const char *a, size_t a_len, while (a_len > 0 && b_len > 0) { /* Mismatch always returns zero. */ - if (*a++ != *b++) + if (toupper ((unsigned char) *a++) != toupper ((unsigned char) *b++)) return 0; /* Advance. */ @@ -341,14 +341,14 @@ conflicting_3char_prefixes (const char *a, const char *b) assert (aw != NULL && bw != NULL); /* Words that are the same don't conflict. */ - if (aw_len == bw_len && !memcmp (aw, bw, aw_len)) + if (aw_len == bw_len && !mm_case_compare (aw, bw, aw_len)) return 0; /* Words that are otherwise the same in the first three letters do conflict. */ return ((aw_len > 3 && bw_len > 3) || (aw_len == 3 && bw_len > 3) - || (bw_len == 3 && aw_len > 3)) && !memcmp (aw, bw, 3); + || (bw_len == 3 && aw_len > 3)) && !mm_case_compare (aw, bw, 3); } /* Returns nonzero if CMD can be confused with another command @@ -390,7 +390,7 @@ cmd_match_words (const struct command *cmd, word != NULL && word_idx < word_cnt; word = find_word (word + word_len, &word_len), word_idx++) if (word_len != strlen (words[word_idx]) - || memcmp (word, words[word_idx], word_len)) + || mm_case_compare (word, words[word_idx], word_len)) { size_t match_chars = match_strings (word, word_len, words[word_idx],