--- freem/src/io_socket.c 2025/03/09 19:14:25 1.3 +++ freem/src/io_socket.c 2025/04/13 04:22:43 1.9 @@ -1,5 +1,5 @@ /* - * $Id: io_socket.c,v 1.3 2025/03/09 19:14:25 snw Exp $ + * $Id: io_socket.c,v 1.9 2025/04/13 04:22:43 snw Exp $ * socket i/o support * * @@ -24,6 +24,24 @@ * along with FreeM. If not, see . * * $Log: io_socket.c,v $ + * Revision 1.9 2025/04/13 04:22:43 snw + * Fix snprintf calls + * + * Revision 1.8 2025/04/10 01:24:38 snw + * Remove C++ style comments + * + * Revision 1.7 2025/03/24 02:56:15 snw + * Socket I/O compat fixes for OS/2 + * + * Revision 1.6 2025/03/24 02:55:26 snw + * Socket I/O compat fixes for OS/2 + * + * Revision 1.5 2025/03/24 02:54:11 snw + * Socket I/O compat fixes for 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:25 snw * First phase of REUSE compliance and header reformat * @@ -79,7 +97,7 @@ io_socket *io_sockets[MAXSCK]; addr_string: server:port[:family:[udp|tcp]]*/ short msck_open (int channel, char *addr_string) { -#if !defined(MSDOS) +#if !defined(MSDOS) && !defined(__OS2__) char *addr = ""; char *port = ""; char *family = ""; @@ -99,7 +117,7 @@ short msck_open (int channel, char *addr short i = channel + FIRSTSCK; /* get index into io_sockets[] array */ - finaddr = (char *) malloc (STRLEN * sizeof (char)); + finaddr = (char *) malloc (256 * sizeof (char)); NULLPTRCHK(finaddr,"msck_open"); @@ -120,10 +138,10 @@ short msck_open (int channel, char *addr if (ct == 1) { - family = (char *) malloc (STRLEN * sizeof (char)); + family = (char *) malloc (256 * sizeof (char)); NULLPTRCHK(family,"msck_open"); - typ = (char *) malloc (STRLEN * sizeof (char)); + typ = (char *) malloc (256 * sizeof (char)); NULLPTRCHK(typ,"msck_open"); strcpy (family, "IPV4"); @@ -133,7 +151,7 @@ short msck_open (int channel, char *addr if (ct == 2) { family = strtok (NULL, ":"); - typ = (char *) malloc (STRLEN * sizeof (char)); + typ = (char *) malloc (256 * sizeof (char)); NULLPTRCHK(typ,"msck_open"); strcpy (typ, "TCP"); @@ -238,7 +256,7 @@ short msck_open (int channel, char *addr short msck_connect (int channel) { -#if !defined(MSDOS) +#if !defined(MSDOS) && !defined(__OS2__) short i = channel + FIRSTSCK; @@ -276,7 +294,7 @@ short msck_connect (int channel) short msck_write (int channel, char *buf, short length) { -#if !defined(MSDOS) +#if !defined(MSDOS) && !defined(__OS2__) ssize_t ct; short i = channel + FIRSTSCK; @@ -311,7 +329,7 @@ short msck_write (int channel, char *buf short msck_read (int channel, char *buf, long sck_timeout, short sck_timeoutms, short length) { -#if !defined(MSDOS) +#if !defined(MSDOS) && !defined(__OS2__) fd_set fds; short i; struct timeval t; @@ -415,7 +433,7 @@ read_done: short msck_close (int channel) { -#if !defined(MSDOS) +#if !defined(MSDOS) && !defined(__OS2__) short i = channel + FIRSTSCK; @@ -436,13 +454,12 @@ short msck_close (int channel) short msck_get_terminator (int channel, char *buf) { char wr_io[9]; - char *wr_key;// = (char *) malloc (STRLEN * sizeof (char)); - //NULLPTRCHK(wr_key,"msck_get_terminator"); - + char *wr_key; + freem_ref_t *wrr = (freem_ref_t *) malloc (sizeof (freem_ref_t)); NULLPTRCHK(wrr,"msck_get_terminator"); - snprintf (wr_io, 8, "%d", channel); + snprintf (wr_io, sizeof (wr_io) - 1, "%d", channel); /* get ^$DEVICE($IO,"TERMINATOR") */