--- freem/src/cmd_write.c 2025/03/09 19:14:24 1.3 +++ freem/src/cmd_write.c 2025/04/09 19:52:02 1.6 @@ -1,5 +1,5 @@ /* - * $Id: cmd_write.c,v 1.3 2025/03/09 19:14:24 snw Exp $ + * $Id: cmd_write.c,v 1.6 2025/04/09 19:52:02 snw Exp $ * Implementation of the WRITE command * * @@ -24,6 +24,15 @@ * along with FreeM. If not, see . * * $Log: cmd_write.c,v $ + * Revision 1.6 2025/04/09 19:52:02 snw + * Eliminate as many warnings as possible while building with -Wall + * + * Revision 1.5 2025/03/24 04:05:36 snw + * Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2 + * + * Revision 1.4 2025/03/22 18:43:54 snw + * Make STRLEN 255 chars and add BIGSTR macro for larger buffers + * * Revision 1.3 2025/03/09 19:14:24 snw * First phase of REUSE compliance and header reformat * @@ -44,7 +53,7 @@ MRESULT cmd_write(MACTION *ra, int *i) { char vn[255]; char *wr_terminator = (char *) malloc (STRLEN * sizeof (char)); - char *sw_buf = (char *) malloc (STRLEN * sizeof (char)); + char *sw_buf = (char *) malloc (BIGSTR * sizeof (char)); NULLPTRCHK(wr_terminator,"cmd_write"); NULLPTRCHK(sw_buf,"cmd_write"); @@ -52,11 +61,14 @@ MRESULT cmd_write(MACTION *ra, int *i) if (io > FIRSTSCK) msck_get_terminator (io, wr_terminator); if (io != HOME && devopen[io] == 'r' && io < FIRSTSCK) { + free (wr_terminator); free (sw_buf); return NOWRITE; } if ((*i = (*codptr)) == SP || *i == EOL) { + free (wr_terminator); + free (sw_buf); return ARGLIST; } @@ -69,7 +81,7 @@ writeproc: if (io < FIRSTSCK) { - if (crlf[io]) { + if (frm_crlf[io]) { write_m ("\012\201"); } else {