Diff for /freem/src/ssvn_display.c between versions 1.1 and 1.5

version 1.1, 2025/01/19 02:04:04 version 1.5, 2025/04/13 04:22:43
Line 1 Line 1
 /*  /*
  *                            *   *   $Id$
  *                           * *   *    ^$DISPLAY ssvn
  *                          *   *  
  *                     ***************  
  *                      * *       * *  
  *                       *  MUMPS  *  
  *                      * *       * *  
  *                     ***************  
  *                          *   *  
  *                           * *  
  *                            *  
  *  
  *   ssvn_display.c  
  *    ^$DISPLAY ssv  
  *   *
  *     *  
  *   Author: Serena Willis <jpw@coherent-logic.com>   *   Author: Serena Willis <snw@coherent-logic.com>
  *    Copyright (C) 1998 MUG Deutschland   *    Copyright (C) 1998 MUG Deutschland
  *    Copyright (C) 2020 Coherent Logic Development LLC   *    Copyright (C) 2020, 2025 Coherent Logic Development LLC
  *   *
  *   *
  *   This file is part of FreeM.   *   This file is part of FreeM.
Line 35 Line 23
  *   You should have received a copy of the GNU Affero Public License   *   You should have received a copy of the GNU Affero Public License
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.   *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *   *
    *   $Log$
    *   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
    *
    *   Revision 1.3  2025/03/09 19:50:47  snw
    *   Second phase of REUSE compliance and header reformat
    *
    *
    * SPDX-FileCopyrightText:  (C) 2025 Coherent Logic Development LLC
    * SPDX-License-Identifier: AGPL-3.0-or-later
  **/   **/
   
 #include <stdio.h>  #include <stdio.h>
Line 48 Line 49
   
 #if defined(HAVE_MWAPI_MOTIF)  #if defined(HAVE_MWAPI_MOTIF)
 #include <limits.h>  #include <limits.h>
 //#include <gtk/gtk.h>  /* #include <gtk/gtk.h> */
 #include <X11/Xlib.h>  #include <X11/Xlib.h>
 //#include <glib.h>  /* #include <glib.h> */
 //#include <pango/pangocairo.h>  /* #include <pango/pangocairo.h> */
   
 #include "mref.h"  #include "mref.h"
   
Line 73  void ssvn_display_update(void) Line 74  void ssvn_display_update(void)
     Display *display;      Display *display;
     Screen *screen;      Screen *screen;
   
 //    PangoFontFamily **families;  /*
 //    int n_families;      PangoFontFamily **families;
 //    PangoFontMap *font_map;      int n_families;
       PangoFontMap *font_map;
   */    
   
     char *result;      char *result;
     unsigned long ressize, restail;      unsigned long ressize, restail;
Line 102  void ssvn_display_update(void) Line 105  void ssvn_display_update(void)
     fmtid = XInternAtom (display, "STRING", False);      fmtid = XInternAtom (display, "STRING", False);
     propid = XInternAtom (display, "XSEL_DATA", False);      propid = XInternAtom (display, "XSEL_DATA", False);
     incrid = XInternAtom (display, "INCR", False);      incrid = XInternAtom (display, "INCR", False);
 //    font_map = pango_cairo_font_map_get_default ();      /*font_map = pango_cairo_font_map_get_default ();
 //    pango_font_map_list_families (font_map, &families, &n_families);        pango_font_map_list_families (font_map, &families, &n_families);*/
   
     XConvertSelection (display, bufid, fmtid, propid, window, CurrentTime);      XConvertSelection (display, bufid, fmtid, propid, window, CurrentTime);
   
Line 116  void ssvn_display_update(void) Line 119  void ssvn_display_update(void)
                            &fmtid, &resbits, &ressize, &restail, (unsigned char**)&result);                             &fmtid, &resbits, &ressize, &restail, (unsigned char**)&result);
                   
         if (fmtid != incrid) {          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);              stcnv_c2m (clipboard_buffer);
             clipboard_buffer[255] = '\201';              clipboard_buffer[255] = '\201';
         }          }
Line 130  void ssvn_display_update(void) Line 133  void ssvn_display_update(void)
     for (int i = 0; i < count_screens; ++i) {      for (int i = 0; i < count_screens; ++i) {
         screen = ScreenOfDisplay (display, 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");          symtab (set_sym, k_buf, "X/MOTIF,3\201");
   
         /*          /*
         snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202CLIPBOARD\201", display_name);          snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202CLIPBOARD\201", display_name);
         symtab (set_sym, k_buf, clipboard_buffer);          symtab (set_sym, k_buf, clipboard_buffer);
         */          */
         snprintf (k_buf, 512 - 1, "^$DISPLAY\202%s\202SIZE\201", display_name);          snprintf (k_buf, sizeof (k_buf) - 1, "^$DISPLAY\202%s\202SIZE\201", display_name);
         snprintf (d_buf, 512 - 1, "%d,%d\201", screen->width, screen->height);          snprintf (d_buf, sizeof (k_buf) - 1, "%d,%d\201", screen->width, screen->height);
         symtab (set_sym, k_buf, d_buf);          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);          snprintf (d_buf, 512 - 1, "%d\201", 16777216L);
         symtab (set_sym, k_buf, d_buf);          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");          snprintf (d_buf, 512 - 1, "COLOR\201");
         symtab (set_sym, k_buf, d_buf);          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");          snprintf (d_buf, 512 - 1, "PIXEL\201");
         symtab (set_sym, k_buf, d_buf);          symtab (set_sym, k_buf, d_buf);
   
 #if 0          #if 0        
         if (!ssvn_display_initialized) {          if (!ssvn_display_initialized) {
   
 //            printf ("mwapi-gtk:  enumerating system fonts... ");  /*            printf ("mwapi-gtk:  enumerating system fonts... "); */
             for (j = 0; j < n_families; j++) {              for (j = 0; j < n_families; j++) {
                 PangoFontFamily *family = families[j];                  PangoFontFamily *family = families[j];
                 const char *family_name;                  const char *family_name;
Line 166  void ssvn_display_update(void) Line 169  void ssvn_display_update(void)
                 family_name = pango_font_family_get_name (family);                  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 (k_buf, sizeof (k_buf)  - 1, "^$DISPLAY\202%s\202TYPEFACE\202%s\202%d\201", display_name, family_name, 0);
                 snprintf (d_buf, 512 - 1, "\201");                  snprintf (dbuf, sizeof (dbuf) - 1, "\201");
                 symtab (set_sym, k_buf, d_buf);                  symtab (set_sym, k_buf, d_buf);
   
                 /*                  /*
                 for (k = 8; k <= 72; k += 2) {                                      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 (k_buf, sizeof (k_buf)  - 1, "^$DISPLAY\202%s\202TYPEFACE\202%s\202%d\201", display_name, family_name, k);
                     snprintf (d_buf, 512 - 1, "\201");                      snprintf (dbuf, sizeof (dbuf) - 1, "\201");
                     symtab (set_sym, k_buf, d_buf);                      symtab (set_sym, k_buf, d_buf);
                 }                  }
                 */                  */
                                   
             }              }
 //            printf ("%d font families discovered\r\n", n_families);  /*            printf ("%d font families discovered\r\n", n_families); */
   
         }          }
 #endif  #endif
Line 187  void ssvn_display_update(void) Line 190  void ssvn_display_update(void)
   
     }      }
   
 //    g_free (families);  /*    g_free (families); */
   
     if (!ssvn_display_initialized) {      if (!ssvn_display_initialized) {
         ssvn_display_initialized = 1;          ssvn_display_initialized = 1;

Removed from v.1.1  
changed lines
  Added in v.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>