--- freem/src/cmd_map.c 2025/03/09 19:14:24 1.3 +++ freem/src/cmd_map.c 2025/04/13 04:22:43 1.5 @@ -1,5 +1,5 @@ /* - * $Id: cmd_map.c,v 1.3 2025/03/09 19:14:24 snw Exp $ + * $Id: cmd_map.c,v 1.5 2025/04/13 04:22:43 snw Exp $ * Implementation of the MAP command * * @@ -24,6 +24,12 @@ * along with FreeM. If not, see . * * $Log: cmd_map.c,v $ + * Revision 1.5 2025/04/13 04:22:43 snw + * Fix snprintf calls + * + * Revision 1.4 2025/04/09 19:52:02 snw + * Eliminate as many warnings as possible while building with -Wall + * * Revision 1.3 2025/03/09 19:14:24 snw * First phase of REUSE compliance and header reformat * @@ -39,10 +45,9 @@ MRESULT cmd_map(MACTION *ra) { - char mapping_type; - char mapping_obj[256]; - char mapping_ns[256]; - char tmp_key[256]; + char mapping_obj[STRLEN]; + char mapping_ns[STRLEN]; + char tmp_key[STRLEN]; if (rtn_dialect () != D_FREEM) { return NOSTAND; @@ -54,14 +59,7 @@ MRESULT cmd_map(MACTION *ra) expr (NAME); - if (stcmp (varnam, "GLOBAL\201") == 0 || stcmp (varnam, "global\201") == 0) { - mapping_type = 'g'; - } - else if (stcmp (varnam, "ROUTINE\201") == 0 || stcmp (varnam, "routine\201") == 0) { - mapping_type = 'r'; - return ARGLIST; - } - else { + if (stcmp (varnam, "GLOBAL\201") != 0 && stcmp (varnam, "global\201") != 0 && stcmp (varnam, "ROUTINE\201") != 0 && stcmp (varnam, "routine\201") != 0) { return ARGLIST; } @@ -86,7 +84,7 @@ MRESULT cmd_map(MACTION *ra) stcpy (mapping_ns, argptr); - snprintf (tmp_key, 255, "^$SYSTEM\202MAPPINGS\202GLOBAL\202%s\201", mapping_obj); + snprintf (tmp_key, STRLEN - 1, "^$SYSTEM\202MAPPINGS\202GLOBAL\202%s\201", mapping_obj); global (set_sym, tmp_key, mapping_ns); *ra = RA_CONTINUE;