Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xosview for openSUSE:Factory checked 
in at 2023-06-23 21:53:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xosview (Old)
 and      /work/SRC/openSUSE:Factory/.xosview.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xosview"

Fri Jun 23 21:53:02 2023 rev:50 rq:1094802 version:1.24

Changes:
--------
--- /work/SRC/openSUSE:Factory/xosview/xosview.changes  2022-09-20 
19:24:15.734590818 +0200
+++ /work/SRC/openSUSE:Factory/.xosview.new.15902/xosview.changes       
2023-06-23 21:53:04.622777373 +0200
@@ -1,0 +2,9 @@
+Fri Jun 23 08:11:54 UTC 2023 - Dr. Werner Fink <wer...@suse.de>
+
+- Update to version 1.24
+  * Fix many compiler warnings
+- Port patches
+  * xosview-1.19-appdef.patch
+  * xosview-1.21-lmstemp.patch
+
+-------------------------------------------------------------------

Old:
----
  xosview-1.23.tar.gz

New:
----
  xosview-1.24.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xosview.spec ++++++
--- /var/tmp/diff_new_pack.SB1sjB/_old  2023-06-23 21:53:05.518782507 +0200
+++ /var/tmp/diff_new_pack.SB1sjB/_new  2023-06-23 21:53:05.522782530 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xosview
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define _appdefdir  %{_datadir}/X11/app-defaults
 Name:           xosview
-Version:        1.23
+Version:        1.24
 Release:        0
 Summary:        System Load Information
 License:        GPL-2.0-or-later

++++++ xosview-1.19-appdef.patch ++++++
--- /var/tmp/diff_new_pack.SB1sjB/_old  2023-06-23 21:53:05.558782736 +0200
+++ /var/tmp/diff_new_pack.SB1sjB/_new  2023-06-23 21:53:05.562782759 +0200
@@ -12,7 +12,7 @@
  #include <ctype.h>
  #include <unistd.h>  //  for access(), etc.  BCG
  #include <iostream>
-@@ -135,34 +136,35 @@ Listed from weakest to strongest:
+@@ -136,34 +137,35 @@ Listed from weakest to strongest:
  
    //  Merge in the system resource database.
    char rfilename[2048];

++++++ xosview-1.21-lmstemp.patch ++++++
--- /var/tmp/diff_new_pack.SB1sjB/_old  2023-06-23 21:53:05.574782828 +0200
+++ /var/tmp/diff_new_pack.SB1sjB/_new  2023-06-23 21:53:05.578782851 +0200
@@ -1,15 +1,12 @@
 ---
- linux/MeterMaker.cc |    7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
+ linux/MeterMaker.cc |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
 
 --- linux/MeterMaker.cc
-+++ linux/MeterMaker.cc        2020-03-23 09:48:53.634728539 +0000
-@@ -213,11 +213,14 @@ void MeterMaker::makeMeters(void){
-     const char *tempfile, *highfile, *lowfile, *name, *label;
-     snprintf( caption, 16, "ACT/HIGH/%s",
++++ linux/MeterMaker.cc        2023-06-23 08:03:28.573943184 +0000
+@@ -215,9 +215,12 @@ void MeterMaker::makeMeters(void){
                _xos->getResourceOrUseDefault("lmstempHighest", "100") );
--    for (int i = 1 ; ; i++) {
-+    for (int i = 1 ; i < 1000 ; i++) {
+     for (int i = 1 ; i < 1000 ; i++) {
        snprintf(s, 16, "lmstemp%d", i);
 -      tempfile = _xos->getResourceOrUseDefault(s, NULL);
 +      tempfile = (char*)_xos->getResourceOrUseDefault(s, NULL);

++++++ xosview-1.23.tar.gz -> xosview-1.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/Host.cc new/xosview-1.24/Host.cc
--- old/xosview-1.23/Host.cc    2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/Host.cc    2022-01-17 15:27:34.000000000 +0100
@@ -65,14 +65,14 @@
     // copy the official name.
     int hnamelen = strlen(hent->h_name) + 1;
     _hent.h_name = new char[hnamelen];
-    strncpy((char *)_hent.h_name, hent->h_name, hnamelen);
+    memcpy(_hent.h_name, hent->h_name, hnamelen);
 
     // copy the aliases.
     _hent.h_aliases = new char *[_numAliases + 1];
     for (int i = 0 ; i < _numAliases ; i++){
       int len = strlen(hent->h_aliases[i]) + 1;
-      _hent.h_aliases[i] = new char[len + 1];
-      strncpy(_hent.h_aliases[i], hent->h_aliases[i], len);
+      _hent.h_aliases[i] = new char[len];
+      memcpy(_hent.h_aliases[i], hent->h_aliases[i], len);
     }
     _hent.h_aliases[_numAliases] = NULL;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/Makefile new/xosview-1.24/Makefile
--- old/xosview-1.23/Makefile   2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/Makefile   2022-01-17 15:27:34.000000000 +0100
@@ -33,6 +33,7 @@
        llist.o \
        main.o \
        meter.o \
+       stringutils.o \
        xosview.o \
        xwin.o
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/Xrm.cc new/xosview-1.24/Xrm.cc
--- old/xosview-1.23/Xrm.cc     2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/Xrm.cc     2022-01-17 15:27:34.000000000 +0100
@@ -12,6 +12,7 @@
 #include <ctype.h>
 #include <unistd.h>  //  for access(), etc.  BCG
 #include <iostream>
+#include "stringutils.h"
 
 extern char *defaultXResourceString;
 
@@ -79,14 +80,14 @@
   {
     //  Let's try with a non-uppercased class name.
     char fcn_lower[1024];
-    strncpy(fcn_lower, className(), 1024);
+    snprintf(fcn_lower, 1024, "%s", className());
     char *p = fcn_lower;
     while (p && *p)
       {
       *p = tolower(*p);
       p++;
       }
-    snprintf(fcn, 1024, "%s.%s", fcn_lower, rname);
+    snprintf_or_abort(fcn, 1024, "%s.%s", fcn_lower, rname);
     XrmGetResource(_db, frn, fcn, &type, &val);
   }
 
@@ -223,7 +224,7 @@
 
 void Xrm::initClassName(const char* name){
   char className[256];
-  strncpy(className, name, 255);  //  Avoid evil people out there...
+  snprintf(className, 256, "%s", name);  //  Avoid evil people out there...
 
   className[0] = toupper(className[0]);
   if (className[0] == 'X')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/bitfieldmeter.cc 
new/xosview-1.24/bitfieldmeter.cc
--- old/xosview-1.23/bitfieldmeter.cc   2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/bitfieldmeter.cc   2022-01-17 15:27:34.000000000 +0100
@@ -180,7 +180,7 @@
       n++;
     }
     tmp2++;
-    strncpy( buff, tmp1, n );
+    memcpy( buff, tmp1, n );
     buff[n] = '\0';
     parent_->setStippleN(i%4);
     parent_->setForeground( colors_[i] );
@@ -364,6 +364,5 @@
   delete[] fieldLegend_;
   int len = strlen(fieldlegend);
   fieldLegend_ = new char[len + 1];
-  strncpy( fieldLegend_, fieldlegend, len );
-  fieldLegend_[len] = '\0'; // strncpy() will not null terminate if s2 > len
+  memcpy(fieldLegend_, fieldlegend, len + 1);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/MeterMaker.cc 
new/xosview-1.24/linux/MeterMaker.cc
--- old/xosview-1.23/linux/MeterMaker.cc        2020-07-11 14:10:34.000000000 
+0200
+++ new/xosview-1.24/linux/MeterMaker.cc        2022-01-17 15:27:34.000000000 
+0100
@@ -213,7 +213,7 @@
     const char *tempfile, *highfile, *lowfile, *name, *label;
     snprintf( caption, 16, "ACT/HIGH/%s",
               _xos->getResourceOrUseDefault("lmstempHighest", "100") );
-    for (int i = 1 ; ; i++) {
+    for (int i = 1 ; i < 1000 ; i++) {
       snprintf(s, 16, "lmstemp%d", i);
       tempfile = _xos->getResourceOrUseDefault(s, NULL);
       if (!tempfile || !*tempfile)
@@ -235,7 +235,7 @@
     char caption[32];
     snprintf(caption, 32, "ACT(\260C)/HIGH/%s",
              _xos->getResourceOrUseDefault("acpitempHighest", "100"));
-    for (int i = 1 ; ; i++) {
+    for (int i = 1 ; i < 100 ; i++) {
       char s[16];
       snprintf(s, 16, "acpitemp%d", i);
       const char *tempfile = _xos->getResourceOrUseDefault(s, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/acpitemp.cc 
new/xosview-1.24/linux/acpitemp.cc
--- old/xosview-1.23/linux/acpitemp.cc  2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/linux/acpitemp.cc  2022-01-17 15:27:34.000000000 +0100
@@ -66,8 +66,8 @@
   }
 
   if (temp_found && high_found) {
-    strncpy(_tempfile, tempfile, PATH_SIZE);
-    strncpy(_highfile, highfile, PATH_SIZE);
+    snprintf(_tempfile, PATH_SIZE, "%s", tempfile);
+    snprintf(_highfile, PATH_SIZE, "%s", highfile);
     return true;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/btrymeter.cc 
new/xosview-1.24/linux/btrymeter.cc
--- old/xosview-1.23/linux/btrymeter.cc 2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/linux/btrymeter.cc 2022-01-17 15:27:34.000000000 +0100
@@ -18,6 +18,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include "stringutils.h"
 
 static const char APMFILENAME[] = "/proc/apm";
 static const char ACPIBATTERYDIR[] = "/proc/acpi/battery";
@@ -125,9 +126,9 @@
       continue;
     if (!strncmp(dp->d_name, "..", 2))
       continue;
-    snprintf(dirname, 80, "%s/%s", SYSPOWERDIR, dp->d_name);
+    snprintf_or_abort(dirname, 80, "%s/%s", SYSPOWERDIR, dp->d_name);
     if (stat(dirname, &buf) == 0 && S_ISDIR(buf.st_mode)) {
-      snprintf(f, 80, "%s/%s", dirname, "/type");
+      snprintf_or_abort(f, 80, "%s%s", dirname, "/type");
       type.open(f);
       if (type.good()) {
         type >> t;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/coretemp.cc 
new/xosview-1.24/linux/coretemp.cc
--- old/xosview-1.23/linux/coretemp.cc  2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/linux/coretemp.cc  2022-01-17 15:27:34.000000000 +0100
@@ -12,6 +12,7 @@
 //
 
 #include "coretemp.h"
+#include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -22,6 +23,7 @@
 #include <fstream>
 #include <iostream>
 #include <string>
+#include "stringutils.h"
 
 #define PATH_SIZE 128
 
@@ -147,11 +149,12 @@
          !strncmp(dent->d_name, "..", 2) )
       continue;
 
-    snprintf(name, PATH_SIZE, "%s/%s/name", SYS_HWMON, dent->d_name);
+    snprintf_or_abort(name, PATH_SIZE, "%s/%s/name", SYS_HWMON, dent->d_name);
     file.open(name);
     if (!file) {
       // Older kernels place the name in device directory.
-      snprintf(name, PATH_SIZE, "%s/%s/device/name", SYS_HWMON, dent->d_name);
+      snprintf_or_abort(name, PATH_SIZE,
+          "%s/%s/device/name", SYS_HWMON, dent->d_name);
       file.open(name);
       if (!file)
         continue;
@@ -167,19 +170,19 @@
       // K10 has only one sensor per physical CPU
       if (_cpu < 0) {  // avg or max
         for (i = 1; i <= cpucount; i++) {
-          snprintf(name, PATH_SIZE, "%s/%s/temp%d_input",
+          snprintf_or_abort(name, PATH_SIZE, "%s/%s/temp%d_input",
                    SYS_HWMON, dent->d_name, i);
           if (!( stat(name, &buf) == 0 && S_ISREG(buf.st_mode) ))
-            snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input",
+            snprintf_or_abort(name, PATH_SIZE, "%s/%s/device/temp%d_input",
                      SYS_HWMON, dent->d_name, i);
           _cpus.push_back(name);
         }
       }
       else {  // single sensor
-        snprintf(name, PATH_SIZE, "%s/%s/temp%d_input",
+        snprintf_or_abort(name, PATH_SIZE, "%s/%s/temp%d_input",
                  SYS_HWMON, dent->d_name, _cpu + 1);
         if (!( stat(name, &buf) == 0 && S_ISREG(buf.st_mode) ))
-          snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input",
+          snprintf_or_abort(name, PATH_SIZE, "%s/%s/device/temp%d_input",
                    SYS_HWMON, dent->d_name, i);
         _cpus.push_back(name);
       }
@@ -309,10 +312,12 @@
     if ( !strncmp(dent->d_name, ".", 1) ||
          !strncmp(dent->d_name, "..", 2) )
       continue;
-    snprintf(s, PATH_SIZE, "%s/%s/name", SYS_HWMON, dent->d_name);
-    if (!( stat(s, &buf) == 0 && S_ISREG(buf.st_mode) ))
+    snprintf_or_abort(s, PATH_SIZE, "%s/%s/name", SYS_HWMON, dent->d_name);
+    if (!( stat(s, &buf) == 0 && S_ISREG(buf.st_mode) )) {
       // Older kernels place the name in device directory.
-      snprintf(s, PATH_SIZE, "%s/%s/device/name", SYS_HWMON, dent->d_name);
+      snprintf_or_abort(s, PATH_SIZE,
+          "%s/%s/device/name", SYS_HWMON, dent->d_name);
+    }
 
     file.open(s);
     if ( file.good() ) {
@@ -322,9 +327,11 @@
            strncmp(dummy.c_str(), "k10temp", 7) == 0 ) {
         if (cpu++ < pkg)
           continue;
-        snprintf(s, PATH_SIZE, "%s/%s/temp*_input", SYS_HWMON, dent->d_name);
+        snprintf_or_abort(s, PATH_SIZE,
+            "%s/%s/temp*_input", SYS_HWMON, dent->d_name);
         glob(s, 0, NULL, &gbuf);
-        snprintf(s, PATH_SIZE, "%s/%s/device/temp*_input", SYS_HWMON, 
dent->d_name);
+        snprintf_or_abort(s, PATH_SIZE,
+            "%s/%s/device/temp*_input", SYS_HWMON, dent->d_name);
         glob(s, GLOB_APPEND, NULL, &gbuf);
         count += gbuf.gl_pathc;
         globfree(&gbuf);
@@ -364,10 +371,11 @@
     if ( !strncmp(dent->d_name, ".", 1) ||
          !strncmp(dent->d_name, "..", 2) )
       continue;
-    snprintf(s, PATH_SIZE, "%s/%s/name", SYS_HWMON, dent->d_name);
+    snprintf_or_abort(s, PATH_SIZE, "%s/%s/name", SYS_HWMON, dent->d_name);
     if (!( stat(s, &buf) == 0 && S_ISREG(buf.st_mode) ))
       // Older kernels place the name in device directory.
-      snprintf(s, PATH_SIZE, "%s/%s/device/name", SYS_HWMON, dent->d_name);
+      snprintf_or_abort(s, PATH_SIZE,
+          "%s/%s/device/name", SYS_HWMON, dent->d_name);
     file.open(s);
     if ( file.good() ) {
       file >> dummy;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/cpumeter.cc 
new/xosview-1.24/linux/cpumeter.cc
--- old/xosview-1.23/linux/cpumeter.cc  2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/linux/cpumeter.cc  2022-01-17 15:27:34.000000000 +0100
@@ -326,8 +326,9 @@
 }
 
 const char *CPUMeter::toUpper(const char *str){
-  static char buffer[MAX_PROCSTAT_LENGTH];
-  strncpy(buffer, str, MAX_PROCSTAT_LENGTH);
+  static char buffer[MAX_PROCSTAT_LENGTH + 1];
+  snprintf(buffer, MAX_PROCSTAT_LENGTH + 1, "%s", str);
+  buffer[MAX_PROCSTAT_LENGTH] = 0;
   for (char *tmp = buffer ; *tmp != '\0' ; tmp++)
     *tmp = toupper(*tmp);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/netmeter.cc 
new/xosview-1.24/linux/netmeter.cc
--- old/xosview-1.23/linux/netmeter.cc  2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/linux/netmeter.cc  2022-01-17 15:27:34.000000000 +0100
@@ -16,6 +16,7 @@
 #include <iostream>
 #include <fstream>
 #include <string>
+#include "stringutils.h"
 
 static const char PROCNETDEV[] = "/proc/net/dev";
 static const char SYSCLASSNET[] = "/sys/class/net";
@@ -137,10 +138,12 @@
            ( _ignored && ent->d_name == _netIface) ) )
         continue;
 
-    snprintf(filename, 128, "%s/%s/statistics/rx_bytes", SYSCLASSNET, 
ent->d_name);
+    snprintf_or_abort(filename, 128,
+        "%s/%s/statistics/rx_bytes", SYSCLASSNET, ent->d_name);
     totin += getCount(filename);
 
-    snprintf(filename, 128, "%s/%s/statistics/tx_bytes", SYSCLASSNET, 
ent->d_name);
+    snprintf_or_abort(filename, 128,
+        "%s/%s/statistics/tx_bytes", SYSCLASSNET, ent->d_name);
     totout += getCount(filename);
   }
   closedir(dir);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/nfsmeter.cc 
new/xosview-1.24/linux/nfsmeter.cc
--- old/xosview-1.23/linux/nfsmeter.cc  2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/linux/nfsmeter.cc  2022-01-17 15:27:34.000000000 +0100
@@ -96,14 +96,14 @@
     if (t < 0)
         t = 0.1;
 
-       maxpackets_ = MAX(netcnt, calls) - _lastNetCnt;
-       if (maxpackets_ == 0) {
-               maxpackets_ = netcnt;
-       } else {
-               fields_[0] = (badcalls - _lastBad) * t;
-               fields_[1] = (netudpcnt - _lastUdp) * t;
-               fields_[2] = (nettcpcnt - _lastTcp) * t;
-       }
+    maxpackets_ = MAX(netcnt, calls) - _lastNetCnt;
+    if (maxpackets_ == 0) {
+        maxpackets_ = netcnt;
+    } else {
+        fields_[0] = (badcalls - _lastBad) * t;
+        fields_[1] = (netudpcnt - _lastUdp) * t;
+        fields_[2] = (nettcpcnt - _lastTcp) * t;
+    }
 
     total_ = fields_[0] + fields_[1] + fields_[2];
     if (total_ > maxpackets_)
@@ -178,14 +178,14 @@
     if (t < 0)
         t = 0.1;
 
-       maxpackets_ = calls - _lastcalls;
-       if (maxpackets_ == 0) {
-               maxpackets_ = calls;
-       } else {
-               fields_[2] = (calls - _lastcalls) * t;
-               fields_[1] = (authrefresh - _lastauthrefresh) * t;
-               fields_[0] = (retrns - _lastretrns) * t;
-       }
+    maxpackets_ = calls - _lastcalls;
+    if (maxpackets_ == 0) {
+        maxpackets_ = calls;
+    } else {
+        fields_[2] = (calls - _lastcalls) * t;
+        fields_[1] = (authrefresh - _lastauthrefresh) * t;
+        fields_[0] = (retrns - _lastretrns) * t;
+    }
 
     total_ = fields_[0] + fields_[1] + fields_[2];
     if (total_ > maxpackets_)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/linux/serialmeter.cc 
new/xosview-1.24/linux/serialmeter.cc
--- old/xosview-1.23/linux/serialmeter.cc       2020-07-11 14:10:34.000000000 
+0200
+++ new/xosview-1.24/linux/serialmeter.cc       2022-01-17 15:27:34.000000000 
+0100
@@ -23,9 +23,8 @@
  * To fetch status information requires ioperm() and inb()
  * otherwise these meter is largely a no-op.
  */
-#if defined(__i386__) || defined(__ia64__) || defined(__amd64__)
+#if defined(__i386__) || defined(__amd64__)
 #include <sys/io.h>
-#include <sys/perm.h>
 #define HAVE_IOPERM
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/meter.cc new/xosview-1.24/meter.cc
--- old/xosview-1.23/meter.cc   2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/meter.cc   2022-01-17 15:27:34.000000000 +0100
@@ -41,8 +41,7 @@
 
   int len = strlen(title);
   title_ = new char[len + 1];
-  strncpy( title_, title, len );
-  title_[len] = '\0'; // strncpy() will not null terminate if s2 > len
+  memcpy( title_, title, len + 1 );
 }
 
 void Meter::legend( const char *legend ){
@@ -52,8 +51,7 @@
 
   int len = strlen(legend);
   legend_ = new char[len + 1];
-  strncpy( legend_, legend, len );
-  legend_[len] = '\0'; // strncpy() will not null terminate if s2 > len
+  memcpy( legend_, legend, len + 1 );
 }
 
 void Meter::resize( int x, int y, int width, int height ){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/stringutils.cc 
new/xosview-1.24/stringutils.cc
--- old/xosview-1.23/stringutils.cc     1970-01-01 01:00:00.000000000 +0100
+++ new/xosview-1.24/stringutils.cc     2022-01-17 15:27:34.000000000 +0100
@@ -0,0 +1,23 @@
+#include "stringutils.h"
+
+#include <iostream>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+void snprintf_or_abort(char* str, size_t size, const char* format, ...) {
+    va_list args;
+    va_start(args, format);
+    int needed = vsnprintf(str, size, format, args);
+    va_end(args);
+    if (needed < 0) {
+        std::cerr << "Internal error: vsnprintf returned an error in "
+                "snprintf_or_abort" << std::endl;
+        abort();
+    }
+    if ((size_t)needed >= size) {
+      std::cerr << "Internal error: Buffer to snprintf_or_abort too small, "
+          "required " << needed << " but got " << size << std::endl;
+      abort();
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/stringutils.h 
new/xosview-1.24/stringutils.h
--- old/xosview-1.23/stringutils.h      1970-01-01 01:00:00.000000000 +0100
+++ new/xosview-1.24/stringutils.h      2022-01-17 15:27:34.000000000 +0100
@@ -0,0 +1,11 @@
+#ifndef _STRINGUTILS_H_
+#define _STRINGUTILS_H_
+
+#include <stdlib.h>
+
+/** Like snprintf, except that instead of truncating the string, it
+ * will print an error message and abort().
+ */
+void snprintf_or_abort(char* str, size_t size, const char* format, ...);
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/xosview.1 new/xosview-1.24/xosview.1
--- old/xosview-1.23/xosview.1  2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/xosview.1  2022-01-17 15:27:34.000000000 +0100
@@ -406,7 +406,11 @@
 
 xosview*font: \fIfont\fP
 .RS
-This is the font that xosview will use.
+This is the font that xosview will use. This is a bitmap font
+rendered at the X server. To list the available fonts, use
+.BR xlsfonts (1),
+and rehash the list with
+.BR xset (1).
 .RE
 
 xosview*background: \fIcolor\fP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/xosview.cc new/xosview-1.24/xosview.cc
--- old/xosview-1.23/xosview.cc 2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/xosview.cc 2022-01-17 15:27:34.000000000 +0100
@@ -255,9 +255,10 @@
 const char *XOSView::winname( void ){
   char host[100];
   gethostname( host, 99 );
-  static char name[101];       /*  We return a pointer to this,
-                                   so it can't be local.  */
-  snprintf( name, 100, "%s%s", NAME, host);
+  host[99] = 0;
+  static char name[120];    /*  We return a pointer to this,
+                                so it can't be local.  */
+  snprintf( name, 120, "%s%s", NAME, host);
   //  Allow overriding of this name through the -title option.
   return getResourceOrUseDefault ("title", name);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/xosview.xpm new/xosview-1.24/xosview.xpm
--- old/xosview-1.23/xosview.xpm        2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/xosview.xpm        1970-01-01 01:00:00.000000000 +0100
@@ -1,639 +0,0 @@
-/* XPM */
-static char * xosview_xpm[] = {
-"25 32 604 2",
-"      c None",
-".     c #00A0A1",
-"+     c #038A8D",
-"@     c #048588",
-"#     c #028B8F",
-"$     c #028B8E",
-"%     c #038B8E",
-"&     c #028A8E",
-"*     c #019495",
-"=     c #00007E",
-"-     c #00007F",
-";     c #01007D",
-">     c #1C0B70",
-",     c #200D6E",
-"'     c #1F0D6E",
-")     c #1D0B70",
-"!     c #0E0582",
-"~     c #0A0F87",
-"{     c #111D8B",
-"]     c #080A85",
-"^     c #00588D",
-"/     c #0C0482",
-"(     c #1B1986",
-"_     c #191785",
-":     c #090881",
-"<     c #070681",
-"[     c #070783",
-"}     c #130F7C",
-"|     c #6E494C",
-"1     c #895A3F",
-"2     c #8B5C3E",
-"3     c #704A4A",
-"4     c #5B4A7C",
-"5     c #5690A3",
-"6     c #487298",
-"7     c #426694",
-"8     c #130975",
-"9     c #171078",
-"0     c #140C7B",
-"a     c #005B8C",
-"b     c #058789",
-"c     c #3B2F8C",
-"d     c #796E99",
-"e     c #6E6397",
-"f     c #292588",
-"g     c #272388",
-"h     c #302B8A",
-"i     c #694A63",
-"j     c #845C57",
-"k     c #815B57",
-"l     c #805A58",
-"m     c #835B53",
-"n     c #855650",
-"o     c #855851",
-"p     c #865A50",
-"q     c #896254",
-"r     c #896153",
-"s     c #8A6152",
-"t     c #8B5F51",
-"u     c #8A5F51",
-"v     c #8B6151",
-"w     c #8E6350",
-"x     c #7A6068",
-"y     c #045A8A",
-"z     c #038C8F",
-"A     c #0E0682",
-"B     c #0B0A82",
-"C     c #0A0982",
-"D     c #050581",
-"E     c #0C0B82",
-"F     c #080980",
-"G     c #403E68",
-"H     c #524F5F",
-"I     c #564966",
-"J     c #816A53",
-"K     c #745E52",
-"L     c #675158",
-"M     c #6D5657",
-"N     c #6F5063",
-"O     c #714C51",
-"P     c #6F4C59",
-"Q     c #65546D",
-"R     c #626478",
-"S     c #646778",
-"T     c #585272",
-"U     c #4B3667",
-"V     c #402F72",
-"W     c #015D8D",
-"X     c #038C8E",
-"Y     c #1E1486",
-"Z     c #37328B",
-"`     c #242087",
-" .    c #181685",
-"..    c #221F87",
-"+.    c #151583",
-"@.    c #193276",
-"#.    c #1F3F73",
-"$.    c #293986",
-"%.    c #636362",
-"&.    c #5D5F5C",
-"*.    c #4A4B65",
-"=.    c #535367",
-"-.    c #4A3E7B",
-";.    c #533B5E",
-">.    c #503C6A",
-",.    c #38428B",
-"'.    c #2D559D",
-").    c #3464A1",
-"!.    c #2C4994",
-"~.    c #111585",
-"{.    c #0A0882",
-"].    c #005C8D",
-"^.    c #048C8E",
-"/.    c #3A2E8C",
-"(.    c #4C4490",
-"_.    c #49438F",
-":.    c #312C8A",
-"<.    c #443E8E",
-"[.    c #46408F",
-"}.    c #34308A",
-"|.    c #817F56",
-"1.    c #A4A045",
-"2.    c #979B55",
-"3.    c #9A9749",
-"4.    c #A2A249",
-"5.    c #A6A345",
-"6.    c #A1A04B",
-"7.    c #98994C",
-"8.    c #9C9A4B",
-"9.    c #8C9151",
-"0.    c #537268",
-"a.    c #356073",
-"b.    c #336377",
-"c.    c #8D9652",
-"d.    c #6D815F",
-"e.    c #435E78",
-"f.    c #080181",
-"g.    c #070781",
-"h.    c #090882",
-"i.    c #0C0D80",
-"j.    c #344868",
-"k.    c #405761",
-"l.    c #3B496C",
-"m.    c #7D7B54",
-"n.    c #6B6B50",
-"o.    c #5D5D56",
-"p.    c #666454",
-"q.    c #675B64",
-"r.    c #6A554E",
-"s.    c #625258",
-"t.    c #374C81",
-"u.    c #305F90",
-"v.    c #2F6292",
-"w.    c #435D7D",
-"x.    c #242E75",
-"y.    c #131A7B",
-"z.    c #201786",
-"A.    c #302C8A",
-"B.    c #1C1A86",
-"C.    c #181585",
-"D.    c #1D1A86",
-"E.    c #2A2588",
-"F.    c #151483",
-"G.    c #031578",
-"H.    c #031D75",
-"I.    c #161C84",
-"J.    c #393465",
-"K.    c #3D395E",
-"L.    c #2B2768",
-"M.    c #332D6B",
-"N.    c #24157C",
-"O.    c #2F1663",
-"P.    c #2B1770",
-"Q.    c #1C1C87",
-"R.    c #0A2798",
-"S.    c #153A9D",
-"T.    c #0D2293",
-"U.    c #000085",
-"V.    c #000082",
-"W.    c #005B8D",
-"X.    c #048D8E",
-"Y.    c #42368D",
-"Z.    c #575092",
-"`.    c #4C448F",
-" +    c #47408F",
-".+    c #574E92",
-"++    c #5C5393",
-"@+    c #45408E",
-"#+    c #507F74",
-"$+    c #5E9F6D",
-"%+    c #5F9D6F",
-"&+    c #609E6C",
-"*+    c #68A069",
-"=+    c #66A16A",
-"-+    c #609D6D",
-";+    c #5E9C6E",
-">+    c #5F9B6C",
-",+    c #7AA966",
-"'+    c #C3D54F",
-")+    c #E5EE43",
-"!+    c #EDF341",
-"~+    c #7BB065",
-"{+    c #A3C155",
-"]+    c #D8D14E",
-"^+    c #04608C",
-"/+    c #000080",
-"(+    c #01037F",
-"_+    c #081978",
-":+    c #0A1C78",
-"<+    c #05117B",
-"[+    c #081679",
-"}+    c #091C78",
-"|+    c #0A2077",
-"1+    c #0F1979",
-"2+    c #352672",
-"3+    c #352264",
-"4+    c #372463",
-"5+    c #1E1A7B",
-"6+    c #270872",
-"7+    c #3B0062",
-"8+    c #2E0169",
-"9+    c #3A0062",
-"0+    c #095B89",
-"a+    c #110883",
-"b+    c #1E1C86",
-"c+    c #080781",
-"d+    c #141184",
-"e+    c #110F84",
-"f+    c #0E0F82",
-"g+    c #112F73",
-"h+    c #153E6E",
-"i+    c #102E73",
-"j+    c #163E6E",
-"k+    c #113072",
-"l+    c #153E6F",
-"m+    c #20496A",
-"n+    c #353B74",
-"o+    c #5E3A5D",
-"p+    c #6F4348",
-"q+    c #5A3551",
-"r+    c #36297A",
-"s+    c #4E0E65",
-"t+    c #7E0040",
-"u+    c #540157",
-"v+    c #770348",
-"w+    c #0D5C86",
-"x+    c #058E8F",
-"y+    c #85719B",
-"z+    c #6C6296",
-"A+    c #4F4790",
-"B+    c #39338C",
-"C+    c #7E729A",
-"D+    c #877A9C",
-"E+    c #625994",
-"F+    c #385D75",
-"G+    c #3C706E",
-"H+    c #3B6D6F",
-"I+    c #3D7170",
-"J+    c #41706D",
-"K+    c #B2773E",
-"L+    c #B9363B",
-"M+    c #B4173C",
-"N+    c #B3193D",
-"O+    c #B51A3D",
-"P+    c #B71B3A",
-"Q+    c #B51D3B",
-"R+    c #B31C3D",
-"S+    c #B12743",
-"T+    c #6C98AC",
-"U+    c #015F8F",
-"V+    c #00007C",
-"W+    c #00007D",
-"X+    c #1B2A7B",
-"Y+    c #223879",
-"Z+    c #213579",
-"`+    c #2C3481",
-" @    c #30468F",
-".@    c #324C91",
-"+@    c #3E508D",
-"@@    c #322D84",
-"#@    c #240F7B",
-"$@    c #26127C",
-"%@    c #25137D",
-"&@    c #1D1A87",
-"*@    c #1E1485",
-"=@    c #36318B",
-"-@    c #2C2889",
-";@    c #100F83",
-">@    c #121183",
-",@    c #1B1886",
-"'@    c #171884",
-")@    c #234B7D",
-"!@    c #295B7C",
-"~@    c #214980",
-"{@    c #48638D",
-"]@    c #355E9F",
-"^@    c #4684AB",
-"/@    c #407AA9",
-"(@    c #254597",
-"_@    c #13238C",
-":@    c #15268D",
-"<@    c #161C89",
-"[@    c #45388E",
-"}@    c #6F6497",
-"|@    c #5D5493",
-"1@    c #252188",
-"2@    c #423B8E",
-"3@    c #37328C",
-"4@    c #486AA1",
-"5@    c #5483AA",
-"6@    c #5484A9",
-"7@    c #5082A6",
-"8@    c #5383A6",
-"9@    c #517FA7",
-"0@    c #517DA6",
-"a@    c #5380A7",
-"b@    c #5789A9",
-"c@    c #588AAA",
-"d@    c #588BAA",
-"e@    c #598CAB",
-"f@    c #577BA5",
-"g@    c #015E8E",
-"h@    c #050080",
-"i@    c #030380",
-"j@    c #040380",
-"k@    c #111083",
-"l@    c #060480",
-"m@    c #3754A3",
-"n@    c #4669A9",
-"o@    c #4757A5",
-"p@    c #4A57B8",
-"q@    c #3F4DAE",
-"r@    c #405196",
-"s@    c #3F73A5",
-"t@    c #4782A9",
-"u@    c #2D4D98",
-"v@    c #223891",
-"w@    c #1F318F",
-"x@    c #1F328F",
-"y@    c #1F338F",
-"z@    c #1F298D",
-"A@    c #3F328C",
-"B@    c #433D8E",
-"C@    c #110F83",
-"D@    c #141183",
-"E@    c #32459F",
-"F@    c #42519F",
-"G@    c #38379A",
-"H@    c #403DAE",
-"I@    c #3230A0",
-"J@    c #37388D",
-"K@    c #3A619E",
-"L@    c #406AA1",
-"M@    c #2B4093",
-"N@    c #1B2189",
-"O@    c #171886",
-"P@    c #171986",
-"Q@    c #171A86",
-"R@    c #161385",
-"S@    c #34288A",
-"T@    c #5B5292",
-"U@    c #4D4690",
-"V@    c #171484",
-"W@    c #2A2889",
-"X@    c #588DAB",
-"Y@    c #6CB2B7",
-"Z@    c #66ACB5",
-"`@    c #68AEB6",
-" #    c #67ADB4",
-".#    c #6AB0B6",
-"+#    c #69AFB6",
-"@#    c #6AB2B7",
-"##    c #69AEB6",
-"$#    c #69B0B7",
-"%#    c #699BAF",
-"&#    c #025F8E",
-"*#    c #010180",
-"=#    c #02017F",
-"-#    c #2C45A0",
-";#    c #2C489F",
-">#    c #3F47A0",
-",#    c #3B3EB1",
-"'#    c #3136A9",
-")#    c #2F398E",
-"!#    c #31619F",
-"~#    c #386DA3",
-"{#    c #1E3892",
-"]#    c #13228B",
-"^#    c #0D1787",
-"/#    c #0E1987",
-"(#    c #0E1286",
-"_#    c #2E2489",
-":#    c #252288",
-"<#    c #181584",
-"[#    c #0E0D83",
-"}#    c #0A0881",
-"|#    c #192897",
-"1#    c #303997",
-"2#    c #120D8F",
-"3#    c #241BA6",
-"4#    c #130B94",
-"5#    c #1B1684",
-"6#    c #1D3F95",
-"7#    c #244B99",
-"8#    c #0E1F8A",
-"9#    c #715F96",
-"0#    c #423C8D",
-"a#    c #201E87",
-"b#    c #201C86",
-"c#    c #3C388D",
-"d#    c #83C6BC",
-"e#    c #9EFACD",
-"f#    c #9CF7CC",
-"g#    c #9CF6CB",
-"h#    c #9CF6CC",
-"i#    c #9DF7CC",
-"j#    c #9DF9CC",
-"k#    c #9CDDC3",
-"l#    c #03608F",
-"m#    c #000181",
-"n#    c #182595",
-"o#    c #121C91",
-"p#    c #192596",
-"q#    c #17188A",
-"r#    c #1B1299",
-"s#    c #160D99",
-"t#    c #120995",
-"u#    c #160C99",
-"v#    c #0B0A85",
-"w#    c #1F318E",
-"x#    c #0F238C",
-"y#    c #000381",
-"z#    c #00007B",
-"A#    c #281E87",
-"B#    c #262288",
-"C#    c #060581",
-"D#    c #0B0982",
-"E#    c #121386",
-"F#    c #3C5DAB",
-"G#    c #3B5EAA",
-"H#    c #4169B1",
-"I#    c #5064A3",
-"J#    c #4145B7",
-"K#    c #3B43B2",
-"L#    c #2F38A6",
-"M#    c #3E44B0",
-"N#    c #3A4B9A",
-"O#    c #34619E",
-"P#    c #386CA3",
-"Q#    c #3769A2",
-"R#    c #1C3490",
-"S#    c #111D89",
-"T#    c #121F89",
-"U#    c #121888",
-"V#    c #058D8F",
-"W#    c #685895",
-"X#    c #4E4790",
-"Y#    c #635A94",
-"Z#    c #181684",
-"`#    c #231F87",
-" $    c #5784A6",
-".$    c #67A8B2",
-"+$    c #64A4B1",
-"@$    c #61A5B3",
-"#$    c #64A3B3",
-"$$    c #62A7B2",
-"%$    c #64A9B3",
-"&$    c #68A7AF",
-"*$    c #66A7B2",
-"=$    c #63A5B3",
-"-$    c #64A4B2",
-";$    c #64A4B3",
-">$    c #66A9B4",
-",$    c #67ABB5",
-"'$    c #67ACB5",
-")$    c #6897AE",
-"!$    c #000081",
-"~$    c #4A1469",
-"{$    c #5A1864",
-"]$    c #44176E",
-"^$    c #21177F",
-"/$    c #351377",
-"($    c #44156F",
-"_$    c #29177B",
-":$    c #501969",
-"<$    c #411A71",
-"[$    c #1C1682",
-"}$    c #141786",
-"|$    c #151686",
-"1$    c #151786",
-"2$    c #141085",
-"3$    c #281D87",
-"4$    c #463F8F",
-"5$    c #2B2789",
-"6$    c #0D0C83",
-"7$    c #010381",
-"8$    c #63175E",
-"9$    c #743267",
-"0$    c #593676",
-"a$    c #363688",
-"b$    c #4D367D",
-"c$    c #603673",
-"d$    c #433480",
-"e$    c #6A1E60",
-"f$    c #64175F",
-"g$    c #32398C",
-"h$    c #253690",
-"i$    c #263690",
-"j$    c #27368F",
-"k$    c #253790",
-"l$    c #252D8D",
-"m$    c #038D8F",
-"n$    c #392D8B",
-"o$    c #504991",
-"p$    c #141384",
-"q$    c #10087E",
-"r$    c #573E7F",
-"s$    c #5B7EA6",
-"t$    c #5489AE",
-"u$    c #5B88AA",
-"v$    c #5D87AA",
-"w$    c #5288AF",
-"x$    c #6183A6",
-"y$    c #6D5181",
-"z$    c #7A4071",
-"A$    c #5C8EAE",
-"B$    c #6188A8",
-"C$    c #6288A7",
-"D$    c #6088A8",
-"E$    c #5E8AAA",
-"F$    c #5E78A3",
-"G$    c #048285",
-"H$    c #030080",
-"I$    c #000182",
-"J$    c #5B0D5B",
-"K$    c #761C57",
-"L$    c #4E1F6C",
-"M$    c #211F83",
-"N$    c #411E73",
-"O$    c #5D1F65",
-"P$    c #331D79",
-"Q$    c #5E115C",
-"R$    c #560D5E",
-"S$    c #232083",
-"T$    c #131E8A",
-"U$    c #151E89",
-"V$    c #141F89",
-"W$    c #141887",
-"X$    c #015688",
-"Y$    c #048D8F",
-"Z$    c #30258A",
-"`$    c #504890",
-" %    c #020381",
-".%    c #4F1669",
-"+%    c #56236F",
-"@%    c #4A2475",
-"#%    c #2F2482",
-"$%    c #3B247C",
-"%%    c #422479",
-"&%    c #332480",
-"*%    c #581D69",
-"=%    c #4B1B6E",
-"-%    c #252588",
-";%    c #20248A",
-">%    c #21248A",
-",%    c #212489",
-"'%    c #21258A",
-")%    c #1F1D88",
-"!%    c #015E8F",
-"~%    c #36288A",
-"{%    c #49418F",
-"]%    c #2C2689",
-"^%    c #171284",
-"/%    c #14077D",
-"(%    c #854B71",
-"_%    c #8BA4A7",
-":%    c #7AB5B6",
-"<%    c #78B4B7",
-"[%    c #81B1B4",
-"}%    c #83ACAF",
-"|%    c #A26473",
-"1%    c #B04C5F",
-"2%    c #78BCBD",
-"3%    c #7BB3B6",
-"4%    c #7DB2B5",
-"5%    c #7AB4B7",
-"6%    c #77B6B8",
-"7%    c #789FB0",
-"8%    c #025F8F",
-"9%    c #028D8F",
-"0%    c #012589",
-"a%    c #012989",
-"b%    c #012787",
-"c%    c #00298A",
-"d%    c #002889",
-"e%    c #002989",
-"f%    c #032A89",
-"g%    c #032D8A",
-"h%    c #032D8B",
-"i%    c #042B89",
-"j%    c #042B88",
-"k%    c #032E8B",
-"l%    c #032A8A",
-"m%    c #006B90",
-". + + @ # $ $ $ % % % % % $ % $ $ $ $ $ # @ + & * ",
-"+ = - - - - - ; > , ' ) ! ~ { ] = - - - - - - = ^ ",
-"+ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 9 9 9 9 9 0 a ",
-"b c d e f g h g i j k l m n o p q r s t u v w x y ",
-"z A B C D E B F G H I J K L M N O P Q R S T U V W ",
-"X Y Z `  ...g +.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].",
-"^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.W ",
-"% f.D E g.B h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.].",
-"X z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.",
-"X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+",
-"$ - /+/+/+/+/+(+_+:+_+<+[+}+|+1+2+3+4+5+6+7+8+9+0+",
-"X a+b+D c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+",
-"x+y+z+A+B+C+D+E+F+G+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+",
-"$ V+W+= = W+W+= X+Y+Z+`+ @.@+@@@#@$@$@$@$@$@%@&@].",
-"X *@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@:@:@:@:@:@<@].",
-"X.[@}@|@1@Z 2@3@4@5@6@7@8@9@0@a@b@c@d@d@d@d@e@f@g@",
-"% h@/+i@j@k@C l@m@n@o@p@q@r@s@t@u@v@w@x@x@x@y@z@].",
-"X.A@B@:.h.= C@D@E@F@G@H@I@J@K@L@M@N@O@P@P@P@Q@R@].",
-"X S@T@U@c+- V@W@X@Y@Z@`@ #`@.#+#@#+#########$#%#&#",
-"$ - < < /+- *#=#-#;#>#,#'#)#!#~#{#]#^#/#/#/#/#(#].",
-"X _#:#<#- - [#}#|#1#2#3#4#5#6#7#8#- W+W+W+W+W+V+W.",
-"x+9#0#a#- - b#c#d#e#f#g#g#h#g#g#g#i#i#i#g#g#j#k#l#",
-"$ = - - /+/+- m#n#o#p#q#r#s#t#u#v#w#x#8#y#z#V+V+W.",
-"X A#B#B#C#- D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#].",
-"V#W#X#Y#Z#= `#3@ $.$+$@$#$$$%$&$*$=$-$;$>$,$'$)$&#",
-"$ V+W+W+- /+- !$~${$]$^$/$($_$:$<$[$}$|$|$1$1$2$].",
-"X 3$4$5$6$- /+7$8$9$0$a$b$c$d$e$f$g$h$i$j$i$k$l$].",
-"m$n$o$=@p$- /+q$r$s$t$u$v$w$x$y$z$A$B$B$C$D$E$F$g@",
-"G$H$- /+*#- /+I$J$K$L$M$N$O$P$Q$R$S$T$U$U$U$V$W$X$",
-"Y$Z$`$B+6$- /+ %.%+%@%#%$%%%&%*%=%-%;%>%,%>%'%)%!%",
-"Y$~%{%]%^%= - /%(%_%:%<%[%<%}%|%1%2%3%3%4%5%6%7%8%",
-"9%0%a%b%c%d%d%e%f%g%h%h%h%h%h%i%j%k%h%h%k%j%g%l%m%"};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/xwin.cc new/xosview-1.24/xwin.cc
--- old/xosview-1.23/xwin.cc    2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/xwin.cc    2022-01-17 15:27:34.000000000 +0100
@@ -145,8 +145,9 @@
   const char* fontName = getResource("font");
 
   if ((font_ = XLoadQueryFont(display_, fontName)) == NULL){
-    std::cerr <<name_ <<": display " <<DisplayString(display_)
-      <<" cannot load font " << fontName << std::endl;
+    std::cerr <<name_ <<": font \"" << fontName
+             << "\" does not exist; see xlsfonts(1)"
+             << std::endl;
     exit(1);
   }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xosview-1.23/xwin.h new/xosview-1.24/xwin.h
--- old/xosview-1.23/xwin.h     2020-07-11 14:10:34.000000000 +0200
+++ new/xosview-1.24/xwin.h     2022-01-17 15:27:34.000000000 +0100
@@ -139,8 +139,8 @@
   void init( int argc, char *argv[] );
   void getGeometry( void );
   int getPixmap(Pixmap *);
-  void setDisplayName (const char* new_display_name) { strncpy
-    (display_name_, new_display_name, 256); }
+  void setDisplayName (const char* new_display_name) {
+      snprintf(display_name_, 256, "%s", new_display_name); }
   const char* displayName () { return display_name_; }
 
   void addEvent( Event *event );

Reply via email to