--- freem/src/ssvn_display.c 2025/04/10 01:24:38 1.4 +++ freem/src/ssvn_display.c 2025/04/13 04:22:43 1.5 @@ -1,5 +1,5 @@ /* - * $Id: ssvn_display.c,v 1.4 2025/04/10 01:24:38 snw Exp $ + * $Id: ssvn_display.c,v 1.5 2025/04/13 04:22:43 snw Exp $ * ^$DISPLAY ssvn * * @@ -24,6 +24,9 @@ * along with FreeM. If not, see . * * $Log: ssvn_display.c,v $ + * Revision 1.5 2025/04/13 04:22:43 snw + * Fix snprintf calls + * * Revision 1.4 2025/04/10 01:24:38 snw * Remove C++ style comments * @@ -116,7 +119,7 @@ void ssvn_display_update(void) &fmtid, &resbits, &ressize, &restail, (unsigned char**)&result); if (fmtid != incrid) { - snprintf (clipboard_buffer, (ressize > 254 ? 254 : ressize), "%s", result); + snprintf (clipboard_buffer, (ressize > (STRLEN - 1) ? (STRLEN - 1) : ressize), "%s", result); stcnv_c2m (clipboard_buffer); clipboard_buffer[255] = '\201'; } @@ -130,28 +133,28 @@ void ssvn_display_update(void) for (int i = 0; i < count_screens; ++i) { screen = ScreenOfDisplay (display, i); - snprintf (display_name, 49, "%d", i); + snprintf (display_name, sizeof (display_name) - 1, "%d", i); - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202PLATFORM\201", display_name); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202PLATFORM\201", display_name); symtab (set_sym, k_buf, "X/MOTIF,3\201"); /* snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202CLIPBOARD\201", display_name); symtab (set_sym, k_buf, clipboard_buffer); */ - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202SIZE\201", display_name); - snprintf (d_buf, 512 - 1, "%d,%d\201", screen->width, screen->height); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202SIZE\201", display_name); + snprintf (d_buf, sizeof (k_buf) - 1, "%d,%d\201", screen->width, screen->height); symtab (set_sym, k_buf, d_buf); - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202SPECTRUM\201", display_name); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202SPECTRUM\201", display_name); snprintf (d_buf, 512 - 1, "%d\201", 16777216L); symtab (set_sym, k_buf, d_buf); - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202COLORTYPE\201", display_name); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202COLORTYPE\201", display_name); snprintf (d_buf, 512 - 1, "COLOR\201"); symtab (set_sym, k_buf, d_buf); - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202UNITS\201", display_name); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202UNITS\201", display_name); snprintf (d_buf, 512 - 1, "PIXEL\201"); symtab (set_sym, k_buf, d_buf); @@ -166,14 +169,14 @@ void ssvn_display_update(void) family_name = pango_font_family_get_name (family); - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202TYPEFACE\202%s\202%d\201", display_name, family_name, 0); - snprintf (d_buf, 512 - 1, "\201"); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202TYPEFACE\202%s\202%d\201", display_name, family_name, 0); + snprintf (dbuf, sizeof (dbuf) - 1, "\201"); symtab (set_sym, k_buf, d_buf); /* for (k = 8; k <= 72; k += 2) { - snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202TYPEFACE\202%s\202%d\201", display_name, family_name, k); - snprintf (d_buf, 512 - 1, "\201"); + snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202TYPEFACE\202%s\202%d\201", display_name, family_name, k); + snprintf (dbuf, sizeof (dbuf) - 1, "\201"); symtab (set_sym, k_buf, d_buf); } */